[Home/Nieuws]  [Magazines]  [Meetings]  [Downloads]  [Redaktie]  [Geschiedenis]


Back Orifice
door Lucifer

Woord vooraf
Ik denk dat ik niet overdrijf als ik zeg dat Back Orifice het hackerstool was dat dit jaar de meeste media-aandacht kreeg. Alhoewel Back Orifice spotgemakkelijk is om te gebruiken ga ik toch een beetje uitleg geven omdat de meeste mensen niet weten waarom het werkt.

Als ik alle leuke dingen zou verklappen die je met BO kunt doen, dan zou dat een belediging zijn voor de scherpzinnigheid van de aanvaller. Alle commando’s met hun eventuele nuttig gebruik, zijn ergens achteraan in deze handleiding te vinden.

Have a good time, maar denk eraan: Het is niet leuk om de "target"-computer steeds te laten heropstarten, te laten vastlopen of idiote berichtjes op het scherm te laten verschijnen. Het echte plezier zit erin om zo onopgemerkt mogelijk te blijven terwijl je toch zoveel mogelijk informatie over de gebruiker(s) verzameld.

Reacties en commentaar zijn steeds welkom op: Jomaka@skynet.be

Wat is BO?
BO staat voor Back Orifice. De naam is een parodie op de Back Office software van Microsoft. Back Orifice stelt de gebruiker ertoe in staat om een Windows 95/98 machine vanop afstand (Via een netwerk) te beheren. De gebruiker op afstand kan in sommige gevallen zelfs meer dan de gebruiker die zelf achter het toestel zit.

Het leuke nu is echter dat Back Orifice geen enkel gebruik maakt van bugs of ongedocumenteerde en interne API-calls. Back Orifice maakt enkel en alleen gebruik van gedocumenteerde "calls" die in Windows zijn ingebouwd om dingen te doen zoals:

  • Cached wachtwoorden tonen
  • Gedeelde schijven maken zonder dat de gebruiker ervan op de hoogte is
  • Zichzelf zo goed als onzichtbaar maken

Dit geeft een redelijk accuraat beeld van Windows beveiliging.

Client – Server?
BO werkt volgens het client – server principe. Dit wil zeggen dat er 1 programma (De server) centraal staat en er 1 of meerdere programma’s (Juist, de clients), die meestal op een andere computer draaien, gebruik kunnen maken van de centrale server.

Je kan dit het best vergelijken met het WWW. (Dit is ook een client – server toepassing.) Er draait ergens een server (vb: Apache). Er kan een verbinding via het internet gemaakt worden met die server via elke willekeurige client (vb: Netscape). Het spreekt voor zich dat de client geschikt moet zijn om met die gegeven server samen te werken. Anders gezegd: De client moet in staat zijn om de gegevens te interpreteren die de server naar deze client verstuurt en vice versa.

De verbinding
Zoals menig persoon al begrepen had, moet er tussen de server en de client een soort van verbinding bestaan om data door te sturen. Deze verbinding wordt gemaakt via een netwerk (Meestal het internet) Er wordt gebruik gemaakt van het UDP protocol (User Datagram Protocol).

Waarom UDP en niet TCP/IP?
UDP heeft 1 groot voordeel:

  • Het is veel sneller dan TCP/IP (Transfer Control Protocol/Internet Protocol)

Maar, het nadeel van UDP is dat men er niet zeker van is dat het verzonden datapakket wel degelijk op zijn bestemming aankomt.

Aangezien dit bij BO niet zo’n grote prioriteit is, is dit nadeel gedeeltelijk te verwaarlozen.

Standaard uitrusting
Ziezo, je bent zojuist op de cDc webpage geweest en BO gedownload. Wat nu?

Eerst zal ik proberen uit te leggen wat de standaarduitrusting en instellingen zijn van BO. Daarna welke leuke add-on’s je kunt aanschaffen die het BO avontuur nog plezanter maken.

Standaard komt BO met de volgende bestanden:

  • BO.TXT Een ASCII tekstbestand over het gebruik van BO. Lees dit voordat je vragen begint te stellen.
  • BOGUI.EXE De Graphical User Interface voor het client programma. (Dit is de Windows client)
  • BOCLIENT.EXE De "DOS" versie van de client.
  • BOSERVE.EXE een standaard server (Zie verder)
  • BOCONFIG.EXE Een programma om de server te configureren (Zie ook verder)
  • FREEZE.EXE Een utility om bestanden te comprimeren.
  • MELT.EXE Een utility om de ge-FREEZEde bestanden terug te decomprimeren.

BOSERVE is de server en deze moet dus zo onopvallend mogelijk op de computer van het slachtoffer uitgevoerd worden.

Vanaf nu gaan we een soort rollenspel spelen. Het "Slachtoffer" is de eigenaar van de computer waarop de BO-server huishoudt en de "Aanvaller" is de persoon die de BO-client bedient. We spreken vanaf nu dus ook over de "Aanvallende computer" en de "Aangevallen computer".

BOCONFIG en de server
Vooralleer we echter BOSERVE.EXE kunnen gebruiken, moeten we nog enkele instellingen op hun juiste (=gewenste) waarden zetten. Dit gebeurt door middel van BOCONFIG.EXE.

Standaard luister de Boserver naar poort 31337, is het wachtwoord "" (Leeg, geen wachtwoord) en wordt hij geïnstalleerd als .exe (Spatie.exe). Vooraleer we verdergaan is het raadzaam om de server nog eens naar een andere naam te kopiëren (Je weet immers maar nooit). Laten we aannemen dat je hem hebt gekopieerd onder de naam "SERVER.EXE".

Het juiste gebruik van BOCONFIG.EXE is dan:

C:\>BOCONFIG SERVER.EXE

Vervolgens vraagt het configureerprogramma om een "executable name". Dit is de naam waaronder de server op de computer van het slachtoffer wordt weggeschreven. Het is aangeraden om hiervoor iets onopvallends te kiezen zodat het slachtoffer al zeker geen argwaan zal krijgen als hij de c:\windows\system directory opvraagt. (Niet dat veel mensen dit doen, maar je kunt niet voorzichtig genoeg zijn.)

Ten tweede wordt er gevraagd om een omschrijving. Deze omschrijving komt in het register te staan naast de naam van het bestand (Die je zojuist gekozen hebt). Kies een omschrijving die bij de bestandsnaam past. (Dus niet als omschrijving: "Geheugenbeheer" en als bestandsnaam: "MSWORKS.EXE")

Nu volgen twee zeer belangrijke velden voor de goede werking van BO:

  • De poort waarop de server luistert
  • Een eventueel wachtwoord. Een wachtwoord is ten zeerste aangeraden om misbruik en daardoor vervroegde ontdekking te vermijden.

Daarna wordt er naar een plugin gevraagd die automatisch wordt uitgevoerd bij iedere start van de server. Er wordt ook gevraagd naar argumenten die aan de plugin moeten worden doorgegeven. Voorlopig laat je deze velden best nog maar even blanco. Plugins worden in een later hoofdstuk behandeld.

Als laatste vraagt BOCONFIG.EXE naar een bestand dat aan de server moet worden toegevoegd. Dit kan dus bijvoorbeeld een plugin zijn waarvoor we hierboven dan de instellingen konden invullen. Ook dit laten we voorlopig leeg.

Voila, de eerste server is klaar voor gebruik. Merk op dat de grote van SERVER.EXE iets groter is dan BOSERVE.EXE. Dit komt doordat we juist data hebben toegevoegd aan de server.

Het enige wat nu gedaan moet worden is de geprepareerde server naar het slachtoffer opsturen en hopen dat hij het uitvoert (Of de server zelf uitvoeren natuurlijk.)

Als dat gebeurd is kunnen we aan de slag met de client(s).

De client(s)
Er zijn zoals gezegd standaard 2 clients meegeleverd: een BOGUI.EXE en een BOCLIENT.EXE. Beiden kunnen evenveel maar je moet zelf uitmaken welk programma je persoonlijke voorkeur geniet. Alle handelingen worden voor de twee clients beschreven in een later hoofdstuk.

De GUI client is makkelijk om te gebruiken (vooral als je de namen van de opdrachten nog niet goed kent), maar is erg onhandig en bijgevolg ook traag om mee te werken. Je moet iedere keer de juiste opdracht aanduiden uit een lijstje en daarna de juiste velden invullen.

De DOS client is sneller om mee te werken omdat je alleen maar opdrachten in moet typen, maar als je de naam van de opdrachten niet kent of met veel fouten tikt, ben je beter af met de GUI.

Plugins
In van de vele handigheidjes van BO is dat je zelfgemaakte plugins kunt invoegen.

Plugins kun je bijvoorbeeld ook van het internet afhalen. Het eerste wat je natuurlijk doet is de handleiding van de meegeleverde plugin aandachtig lezen (d.i. lezen totdat je 100% snapt wat er bedoeld wordt. Dit geldt trouwens voor alle handleidingen.)

Daarna moet je met BOCONFIG.EXE ervoor zorgen dat de plugin juist uitgevoerd wordt. Dit wordt gedaan door de juiste waarden in te voeren in de velden waarin de pluginnaam gevraagd wordt en waarin de argumenten worden opgegeven.

Als je nog niet meteen snapt hoe of wat, moet je niet in paniek raken. Bekijk BOCONFIG nog een keer en vul waarden in waar je van tevoren eens over nagedacht hebt. (Ik bedoel: Tik niet gewoon wat tekst in, maar probeer te begrijpen wat BOCONFIG vanje vraagt.) Bekijk het resultaat op je eigen computer. (Wel nog een kopietje maken van de server, want als je hem uitvoert, ben je hem natuurlijk kwijt J .)

Eventueel kan je ook de plugin mee versturen met de server alhoewel dit niet noodzakelijk is. (Ik heb liever een werkende server waarna je dan zelf vanop afstand plugins kan installeren.)

Commando’s
De functies van BO uitgelegd en hun praktisch gebruik uit de doeken gedaan.

APP ADD / APPADD, APP DEL / APPDEL, APPS LIST / APPLIST
Application add dient om een tekstgebasseerde applicatie op een bepaalde poort van de server te laten draaien. Deze poort kan dan benaderd worden door een communicatie programma, vb: telnet.

Met APP DELL kun je dit weer uitzetten en APP LIST geeft je een lijst met alle applicaties die momenteel op deze manier actief zijn.

Vb:

APPADD c\command.com 666

Daarna telnet je naar poort 666 van de server en je hebt nu een DOS-prompt
op de aangevallen computer.

DIRECTORY CREATE / MD, DIRECTORY REMOVE / RD
Spreekt eigenlijk voor zichzelf maar voor de volledigheid schrijf ik het hier toch maar.

Het maakt een directory en verwijdert er een.

DIRECTORY LIST / DIR
Geeft alle bestanden weer uit een bepaalde directory. Als je meer dan 1 bestand wil zien, moet je met wildcards werken (*, ?)

EXPORT ADD / SHAREADD, EXPORT DELETE / SHAREDEL, EXPORTS LIST / SHARELIST
Maakt een schijf gedeeld, heft het delen weer op of geeft een
lijst met alle gedeelde schijven (Ik hoop dat je weet wat gedeelde schijven zijn J )

Opmerking: Het hand-icoontje verschijnt NIET op het scherm van het slachtoffer

FILE COPY / COPY
Ik denk dat dit wel zo ongeveer duidelijk is.

FILE DELETE / DEL
Zie hierboven

FILE FIND / FIND
Is ongeveer te vergelijken met DIRECTORY LIST / DIR

FILE FREEZE / FREEZE, FILE MELT / MELT
Comprimeert of decomprimeert een bestand. (Om zo down- en uploadtijd te beperken.)

FILE VIEW / VIEW
Toont de inhoud van een bestand (Liefst te gebruiken bij ASCII tekst bestanden.)

HTTP DISABLE / HTTPOFF, HTTP ENABLE / HTTPON
Maakt van de BO server een heuse web server. Dit kan gebruikt worden om bestanden
te uploaden en te downloaden. Gebruik dit bij voorkeur boven TCP FILE
RECEIVE / TCPRECV, TCP FILE SEND / TCPSEND

KEYLOG BEGIN / KEYLOG, KEYLOG END
Begint met keyloggen naar een bepaald bestand. Het harde schijf lampje
zal niet flikkeren. Kies je bestandsnaam zo, dat hij niet opvalt.
(Zet het bij voorkeur in de c:\windows\system directory)

MM CAPTURE AVI / CAPAVI, MM CAPTURE FRAME / CAPFRAME, MM CAPTURE SCREEN / CAPSCREEN, MM LIST CAPTURE DEVICES / LISTCAPS, MM PLAY SOUND / SOUND
Neemt een avi bestand op van het capture device van het slachtoffer, neemt 1 beeldje op van het capture device van het slachtoffer, neemt een screenshot, geeft een lijst weer van alle aangesloten capture devices en speelt een wav bestand op de computer van het slachtoffer.

NET CONNECTIONS / NETLIST, NET DELTE / NETDISCONNECT, NET USE / NETCONNECT, NET VIEW / NETVIEW
Geeft een lijst weer van de in- en uitgaande netconnecties, verbreekt de verbinding van de server met de netwerkbron, verbindt de server met een netwerkbron, geeft een lijst van alle aangesloten machines. Dit kun je gebruiken om op computers te geraken op een netwerk.

(Vb: de 192.168.*.* range, die je normaal gezien niet van buitenaf kan bereiken. De server moet dan wel geïnstalleerd zijn op het toestel dat WEL van buitenaf is te bereiken.)

PING HOST / PING
Een doodgewone ping. Geeft een melding als de opgeroepen machine over een BOSERVER beschikt.

PLUGIN EXECUTE / PLUGINEXEC, PLUGIN KILL / PLUGINKILL, PLUGINS LIST / PLUGINLIST
Voert een bepaalde plugin uit. (De server kan zodanig geconfigureerd worden dat de server automatisch de gewenste plugin uitvoert bij het starten), zorgt dat een bepaalde plugin niet meer wordt uitgevoerd, geeft een lijst met alle actieve plugins.

PROCESS KILL / PROCKILL, PROCESS LIST / PROCLIST, PROCESS SPAWN / PROCSPAWN
Stop het aangeduide programma, geeft een lijst met alle op het moment draaiende programma’s en services, zorgt ervoor dat een programma uitgevoerd wordt.

Als je "explorer" killed, verdwijnt de taakbalk op de aangevallen computer.

REDIR ADD / REDIRADD , REDIR DEL / REDIRDEL , REDIR LIST, REDIRLIST
Eender welke poort van de computer van het slachtoffer wordt omgeleidt naar een andere machine / poort, of stopt dit weer, of geeft een lijst van alle op actief zijnde redirecties. Dit kan zeer handig zijn om email te onderscheppen.

REG CREATE KEY / REGMAKEKEY, REG DELETE KEY / REGDELKEY, REG LIST KEYS / REGLISTKEYS, REG LIST VALUES / REGLISTVAL, REG DELETE VAL / REGDELVAL, REG SET VAL / REGSETVAL
Maakt, verwijdert geeft weer de sleutels in het register.

Geeft weer, verwijderd, "zet" de waarden bij de sleutel.

Prul niet in het register als je niet weet wat je aan het doen bent!!!

RESOLVE HOST / RESOLVE
Converteert een IP adres naar een naam adres. Wordt niet veel gebruikt.

SYSTEM DIALOGBOX / DIALOG
Toont een systeemdialoog box op het scherm met zelf te bepalen waarden. Het slachtoffer kan alleen op OK klikken.

SYSTEM INFO / INFO
Geeft informatie over de machine weer.

SYSTEM LOCKUP / LOCKUP
Laat de aangevallen computer vastlopen. In feite wordt er een oneindige lus uitgevoerd die alle systeemtijd in beslag neemt.

SYSTEM PASSWORDS / PASSES
Laat de "cached" wachtwoorden zien.

TCP FILE RECEIVE / TCPRECEIVE, TCP FILE SEND / TCPSEND
Upload of download (ja, in die volgorde!) een bestand. Het nadeel is dat je een programma nodig hebt dat het bestand "dumpt" of ontvangt naar/van een bepaalde poort. Een voorbeeld van zo’n programma in Netcat. Dit is handig voor geautomatiseerde bestandsoverdrachten; anders kun je beter HTTP ENEBLE / HTTPON, HTTP DISABLE / HTTPOFF gebruiken.

De informatie in 't Klaphek dient slechts een educatief doel. Gebruik van deze informatie zou strafbaar kunnen zijn. De redaktie wijst iedere verantwoordelijkheid voor gebruik door lezers van de in 't Klaphek opgenomen informatie af. De mening van een auteur weerspiegelt niet noodzakelijkerwijs de mening van de redaktie of uitgever.