Bhunter - ботнетийн зангилааг хакердаж байна

Вирусын шинжээчид болон компьютерийн аюулгүй байдлын судлаачид аль болох олон шинэ ботнетийн дээж цуглуулахаар уралдаж байна. Тэд зөгийн балны савыг өөрсдийн зорилгоор ашигладаг ... Гэхдээ хэрэв та хортой програмыг бодит нөхцөлд ажиглахыг хүсвэл яах вэ? Сервер эсвэл чиглүүлэгчээ эрсдэлд оруулах уу? Тохиромжтой төхөөрөмж байхгүй бол яах вэ? Эдгээр асуултууд намайг ботнетийн зангилаа руу нэвтрэх хэрэгсэл болох bhunter-ийг бүтээхэд түлхэц болсон юм.

Bhunter - ботнетийн зангилааг хакердаж байна

үндсэн санаа

Ботнетийг өргөжүүлэхийн тулд хортой програмыг түгээх олон арга байдаг: фишингээс эхлээд 0 өдрийн эмзэг байдлыг ашиглах хүртэл. Гэхдээ хамгийн түгээмэл арга бол SSH нууц үгүүдийг харгис хүчээр оруулах явдал юм.

Санаа нь маш энгийн. Хэрэв зарим ботнетийн зангилаа таны серверт нууц үг оруулахыг оролдож байгаа бол энэ зангилаа өөрөө энгийн нууц үгээр баригдсан байх магадлалтай. Энэ нь түүнд хандахын тулд та зүгээр л хариу үйлдэл үзүүлэх хэрэгтэй гэсэн үг юм.

Bhunter яг ингэж ажилладаг. 22-р портыг (SSH үйлчилгээ) сонсож, холбогдохыг оролдсон бүх нэвтрэх болон нууц үгээ цуглуулдаг. Дараа нь цуглуулсан нууц үгээ ашиглан довтолж буй зангилаатай холбогдохыг оролддог.

Ажлын алгоритм

Хөтөлбөрийг 2 үндсэн хэсэгт хувааж болох бөгөөд тэдгээр нь тусдаа хэлхээнд ажилладаг. Эхнийх нь зөгийн бал юм. Нэвтрэх оролдлогыг боловсруулж, өвөрмөц нэвтрэлт болон нууц үгүүдийг цуглуулдаг (энэ тохиолдолд нэвтрэх + нууц үгийн хослолыг бүхэлд нь авч үздэг), цаашдын халдлагад зориулж дараалалд холбогдохыг оролдсон IP хаягуудыг нэмдэг.

Хоёр дахь хэсэг нь халдлагыг шууд хариуцдаг. Түүгээр ч зогсохгүй халдлага нь хоёр горимоор явагддаг: BurstAttack (тэсрэлт халдлага) - ерөнхий жагсаалтаас харгис хүчээр нэвтрэх болон нууц үг, SingleShotAttack (нэг удаагийн халдлага) - халдлагад өртсөн зангилаа ашиглаж байсан, гэхдээ хараахан болоогүй байгаа харгис хүчний нууц үг. ерөнхий жагсаалтад нэмсэн.

Нэвтрэх болон нууц үгийн мэдээллийн сантай байхын тулд bhunter-ийг ажиллуулсны дараа шууд /etc/bhunter/defaultLoginPairs файлын жагсаалтаар эхлүүлдэг.

интерфэйс

Bhunter-ийг ажиллуулах хэд хэдэн арга байдаг:

Яг л багаараа

sudo bhunter

Энэхүү нээлтийн тусламжтайгаар bhunter-ийг текст цэсээр дамжуулан удирдах боломжтой: халдлагад нэвтрэх нэр, нууц үг нэмэх, нэвтрэх болон нууц үгийн мэдээллийн санг экспортлох, халдлагын байг зааж өгөх. Хакердсан бүх цэгүүдийг /var/log/bhunter/hacked.log файлаас харж болно

tmux ашиглаж байна

sudo bhunter-ts # команда запуска bhunter через tmux  
sudo tmux attach -t bhunter # подключаемся к сессии, в которой запущен bhunter

Tmux бол терминалын мультиплексер бөгөөд маш тохиромжтой хэрэгсэл юм. Нэг терминал дотор хэд хэдэн цонх үүсгэх, цонхыг самбар болгон хуваах боломжийг танд олгоно. Үүнийг ашигласнаар та терминалаас гарч, ажиллаж байгаа процессуудыг тасалдуулахгүйгээр нэвтэрч болно.

bhunter-ts скрипт нь tmux сесс үүсгэж, цонхыг гурван самбарт хуваадаг. Эхнийх нь хамгийн том нь текст цэсийг агуулдаг. Баруун дээд талд зөгийн балны гуалин байгаа бөгөөд эндээс та зөгийн бал руу нэвтрэх оролдлогын талаарх мессежүүдийг харж болно. Баруун доод самбар нь ботнетийн зангилаанууд дээрх халдлагын явц, амжилттай хакердсан тухай мэдээллийг харуулдаг.

Энэ аргын эхнийхээс давуу тал нь бид терминалыг аюулгүй хааж, дараа нь түүний ажлыг зогсоохгүйгээр буцаж очих боломжтой юм. tmux-ийн талаар бага зэрэг мэддэг хүмүүст би санал болгож байна энэ хууран мэхлэх хуудас.

Үйлчилгээ болгон

systemctl enable bhunter
systemctl start bhunter

Энэ тохиолдолд бид системийг эхлүүлэх үед bhunter autostart-ыг идэвхжүүлдэг. Энэ аргын хувьд bhunter-тэй харилцах боломжгүй бөгөөд хакердсан зангилааны жагсаалтыг /var/log/bhunter/hacked.log хаягаас авч болно.

Үр нөлөө

Bhunter дээр ажиллаж байхдаа би бөөрөлзгөнө пи, чиглүүлэгч (ялангуяа микротик), вэб сервер, нэг удаа уул уурхайн ферм (харамсалтай нь өдрийн цагаар ханддаг байсан тул би огт өөр төхөөрөмжүүдэд хандах боломжтой болсон. түүх). Хэдэн өдрийн ажлын дараа хакердсан зангилааны жагсаалтыг харуулсан програмын дэлгэцийн агшинг энд оруулав.

Bhunter - ботнетийн зангилааг хакердаж байна

Харамсалтай нь, энэ хэрэгслийн үр нөлөө нь миний хүлээлтэд хүрсэнгүй: bhunter хэд хоногийн турш зангилаа руу нууц үг оруулах оролдлого хийж чадаагүй бөгөөд хэдхэн цагийн дотор хэд хэдэн байг хакердаж чадна. Гэхдээ энэ нь шинэ ботнет дээжийг тогтмол оруулахад хангалттай юм.

Үр дүнтэй байдалд bhunter-тэй сервер байрладаг улс, хостинг, IP хаяг хуваарилагдсан муж зэрэг параметрүүд нөлөөлдөг. Миний туршлагаас харахад би нэг хостоос хоёр виртуал сервер түрээсэлж байсан бөгөөд тэдгээрийн нэг нь ботнетийн халдлагад 2 дахин их өртөж байсан.

Миний засаж амжаагүй алдаанууд

Халдвар авсан хост руу довтлохдоо зарим тохиолдолд нууц үг зөв эсэхийг хоёрдмол утгагүй тодорхойлох боломжгүй байдаг. Ийм тохиолдлуудыг /var/log/debug.log файлд бүртгэдэг.

SSH-тэй ажиллахад ашигладаг Paramiko модуль нь заримдаа буруу ажилладаг: энэ нь хосттой холбогдохыг оролдох үед түүний хариуг эцэс төгсгөлгүй хүлээдэг. Би таймерыг туршиж үзсэн боловч хүссэн үр дүнд хүрээгүй

Өөр юу дээр ажиллах шаардлагатай вэ?

Үйлчилгээний нэр

RFC-4253-ын дагуу үйлчлүүлэгч болон сервер нь суулгахаасаа өмнө SSH протоколыг хэрэгжүүлдэг үйлчилгээний нэрийг солилцдог. Энэ нэр нь "ҮЙЛЧИЛГЭЭНИЙ НЭР" талбарт байгаа бөгөөд үйлчлүүлэгчийн хүсэлт болон серверийн хариуд хоёуланд нь агуулагдсан болно. Талбар нь мөр бөгөөд утгыг нь wireshark эсвэл nmap ашиглан олж болно. OpenSSH-ийн жишээ энд байна:

$ nmap -p 22 ***.**.***.** -sV
Starting Nmap ...
PORT   STATE SERVICE VERSION
22/tcp open  ssh     <b>OpenSSH 7.9p1 Debian 10+deb10u2</b> (protocol 2.0)
Nmap done: 1 IP address (1 host up) scanned in 0.47 seconds

Гэсэн хэдий ч Парамикогийн хувьд энэ талбарт "Paramiko Python sshd 2.4.2" шиг мөр агуулагдаж байгаа бөгөөд энэ нь урхинаас "зайлсхийх" зорилготой ботнэтүүдийг айлгаж чаддаг. Тиймээс энэ шугамыг илүү төвийг сахисан зүйлээр солих хэрэгтэй гэж бодож байна.

Бусад векторууд

SSH нь алсаас удирдах цорын ганц хэрэгсэл биш юм. Мөн telnet, rdp байдаг. Тэднийг илүү нарийвчлан авч үзэх нь зүйтэй юм.

өргөтгөл

Өөр өөр улс орнуудад хэд хэдэн урхи байрлуулж, тэдгээрээс нэвтрэх, нууц үг, хакердсан зангилааг нэгдсэн мэдээллийн санд төвлөрүүлбэл үнэхээр сайхан байх болно.

Би хаанаас татаж авах вэ?

Бичиж байх үед зөвхөн туршилтын хувилбар бэлэн болсон бөгөөд үүнийг татаж авах боломжтой Github дээрх репозитор.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх