Hello World

Ici on trouve de l'actu, des essais sur les technos de l'information, de l'étrange et pas mal de bazard...

Ce blog véhicule des images, quelques videos, des sons, du code et des outils.

Bon surf.

Mardi 25 décembre 2007

Un essai datant de 2004 d'un forgeur de requétes HTTP pour tester la sécu d'un Serveur Web.
Un proto réalisé à l'époque en RapidQ.
Il marche pas trop mal, pour des tests manuels, en mode Snooze.

Voila le source:

' [SYD] HTTP Lab Tool
' 2004 fenryrlab
' Not for distribution.
' Thx to BlogSploits

$APPTYPE GUI
$TYPECHECK ON
$INCLUDE "RAPIDQ.INC"

DIM Socket AS QSOCKET
DIM Sock AS INTEGER
DIM PortNum AS INTEGER
DIM HttpMethod AS STRING

DIM ERROR404 AS STRING
DIM SUCCESS200 AS STRING
DIM FORBIDDEN403 AS STRING
DIM NEEDAUTH401 AS STRING
DIM INTERNAL500 AS STRING
DIM UNKMETHOD501 AS STRING

ERROR404="HTTP/1.1 404"
SUCCESS200="HTTP/1.1 200"
FORBIDDEN403="HTTP/1.1 403"
NEEDAUTH401="HTTP/1.1 200"
INTERNAL500="HTTP/1.1 500"
UNKMETHOD501="HTTP/1.1 501"


DECLARE SUB GrabberClick



CREATE Form AS QFORM
    Caption = "Syd:Lost Highway to Hell      -=FenryrLab Internal Proto - Not for Distribution=-"
    Width = 640
    Height = 480
    Center
   
    CREATE AdresseLabel AS QLABEL
        Caption = "Adress"
        Left = 82
        Top = 27
        Width = 72
        Height = 21
        Alignment = 2
    END CREATE
   
    CREATE AdressEdit AS QEDIT
        Text = "127.0.0.1"
        Left = 159
        Top = 28
    END CREATE
   
    CREATE PathComboBox AS QCOMBOBOX
        AddItems "/", _
                 "/index.html", _
                 "/index.asp", _
                 "/index.php", _
                 "/default.asp", _
                 [On place ici les Tests que l'on veut...]
                 "/cgi-bin/bb-hist.sh?HISTFILE=/home/*", _
                 "/cgi-bin/mrtg.cgi?cfg=../../../../../../../../etc/hosts", _
                 "/cgi-bin/syd.pl"

        Text = "/"
        Left = 393
        Top = 24
        TabOrder = 4
    END CREATE
   
   
   CREATE MethodComboBox AS QCOMBOBOX
        AddItems "GET", _
                 "HEAD", _
                 "POST", _
                 "PUT", _
                 "OPTIONS", _
                 "TRACE", _
                 "TRACK", _
                 "CONNECT", _
                 "LOCK", _
                 "MKCOL", _
                 "PROPFIND", _
                 "PROPPATCH", _
                 "SEARCH", _
                 "SUBSCRIBE", _
                 "UNLOCK", _
                 "INDEX", _
                 "LIST", _
                 "get", _
                 "", _
                 "SYD"

        Text = "GET"
        Left = 393
        Top = 55
        TabOrder = 4
    END CREATE
   
    CREATE PortComboBox AS QCOMBOBOX
        AddItems "80", _
                 "8080", _
                 "8081", _
                 "8088", _
                 "8888", _
                 "8090", _
                 "8100", _
                 "1080", _
                 "3128", _
                 "4711", _
                 "7001", _
                 "7777", _
                 "4000", _
                 "2301", _
                 "81", _
                 "82", _
                 "83", _
                 "84", _
                 "49152"
Text = "80"
Left = 393
        Top = 86
        TabOrder = 5
    END CREATE
   
   
    CREATE TerminatorComboBox AS QCOMBOBOX
        AddItems " HTTP/1.0", _
                 " HTTP/1.1", _
                 " HTTP/0.9", _
                 " HTTP/2.0", _
                 " HTTP/0.0", _
                 " HTTP/", _
                 " HTTP/1.0%00", _
                 " HTTP/%00", _
                 " HTTP/1.0 Cookie: =", _
                 " HTTP/1.0 Translate: f", _
                 "", _
                 " www.yahoo.com:80 HTTP/1.0", _
                 " SYD/1.0"
        Text = " HTTP/1.0"
        Left = 393
        Top = 117
        TabOrder = 5
    END CREATE
   
   
    CREATE GrabButton AS QBUTTON
        Caption = "Grab"
        Left = 307
        Top = 27
        TabOrder = 2
        OnClick = GrabberClick
    END CREATE
   
    CREATE ResultWindow AS QRICHEDIT
        Left = 79
        Top = 58
        Width = 305
        Height = 273
        TabOrder = 3
    END CREATE
   
  
END CREATE

Form.ShowModal

SUB GrabberClick
  DIM Content AS STRING
  DIM BytesRead AS LONG
  DIM HTTPid AS STRING
  DIM Server AS STRING, PathToFile AS STRING
  DIM I AS INTEGER

  PathToFile = ""
  Server = AdressEdit.Text
  PathTofile = PathComboBox.Text
  PortNum = VAL(PortComboBox.Text)
  HttpMethod = MethodComboBox.Text
  HTTPid = TerminatorComboBox.Text


  Sock = Socket.Connect(Server, PortNum)

  IF Sock < 0 THEN
    ShowMessage "Socket ERROR"
    EXIT SUB
  END IF


  '-- Send request, end with a blank line.
  Socket.WriteLine(Sock, HttpMethod+" "+PathToFile+HTTPid)
  ''-- This is Bowling, not Viet-Nam: They are rules.
  Socket.WriteLine(Sock, "HOST "+Server+":"+STR$(PortNum))
  Socket.WriteLine(Sock, "")

  Content = ""
  BytesRead = 0
  DO
    Content = Content + Socket.Read(Sock, 32000)     '' 32000 bytes... whatever they give us
    BytesRead = BytesRead + Socket.Transferred
    LOOP UNTIL Socket.Transferred = 0
   
  
  ResultWindow.Clear 
  IF INSTR(Content,ERROR404)THEN
     ResultWindow.Text = "NOT FOUND"
     ELSE
     ResultWindow.Text = Content
     END IF
    
    
  Socket.Close
END SUB 

      

Par Franck Balmer - Publié dans : Bidouille Grenouille
Ecrire un commentaire - Voir les 1 commentaires - Recommander
Lundi 24 décembre 2007

- "Tu voudrais quoi pour Noel mon petit kiddie? "

- "Un Scanner pour bidouiller sur le Web !".
  "Mais je veux qu'il soit: simple, léger, facilement extensible et surtout que je puisse le trafiquer tant que je veux !"

- "Tu as de la chance:
  Voici Pluto de Astral Clinic, il n'est pas tout jeune (2001 ?), mais je pense qu'il à tout ce que tu cherches."
  "En plus, il est écrit en Delphi v5.
  Tu n'as pas les sources pour le trafiquer, mais tu sauras te débrouiller..."

Bon, a quoi il ressemble le Pluto (Kiss?):




Pluto cool...
Un petit coup de Reverse sur l'engin?



Bon ça ne devrait pas étre trop dur de le customiser à mort !
Déja, en commençant  simple, on peut l'utiliser pour attraper des WebCams gràce au tests d'Urls suivants:

/axis-cgi/jpg/image.cgi

/img/image.cgi?next_file=main_fs.htm

C'est vraiment Noel !


Salut à tous !


Par Franck Balmer - Publié dans : Bidouille Grenouille
Ecrire un commentaire - Voir les 1 commentaires - Recommander
Lundi 24 décembre 2007

Quelques infos en vrac, sur la prog bas-niveau sous Win32.

Compilation DevCpp
Pour que l'édition de lien d'un prog utilisant les sockets fonctionne, inclure au projet la lib libwsock32.a


Quelques liens ASM Win32

http://www.winprog.org/tutorial/
http://tangentsoft.net/wskfaq/
http://www.geocities.com/josempadron/eng/tutorials.htm
http://reverseengineering.online.fr

WNASPI32 alternatif
Frog Aspi, histoire de faire du "raz des pistes" sur un CD/DVD,

http://www.frogaspi.org/


Un outil pour bidouiller avec les process, meme ceux cachés (style malwares):
Winforce, pas si évident à trouver.
Quand Process Explorer ne peut plus rien...

http://zamezame.free.fr/Bistro/Utilitaire/WinForce/WinForce.exe

Par Franck Balmer - Publié dans : Bidouille Grenouille
Ecrire un commentaire - Voir les 0 commentaires - Recommander
Lundi 24 décembre 2007

Matlab est aux Maths sur PC ce qu'IDA est au Reverse: Une référence.
Histoire de s'amuser un peu avec ce bijou, deux petits exemples:

Exploration des Nombre de Fibonacci.
Tout d'abord le code (m-file):

%Calcule les 100 premiers nombres de Fibonacci.
%Ils sont stockés dans une matrice rectangulaire 10x10.
%F.Balmer
%26 Juillet 2007
Vfib =[1 1];
n=1;
while n<99
Vfib(n+2)=Vfib(n+1)+Vfib(n);
n=n+1;
end
Mfib=zeros(10)
n=1
x=1
y=1
while x<11
 while y<11
 Mfib (x,y)=Vfib(n)
 n=n+1
 y=y+1
 end
x=x+1
y=1
end
imagesc (Vfib)

Ensuite, visualisation en Plot Standard (rectangulaire) puis coordonnées Polaires:



Bon, plutot rassurant ce dernier graphe, non ?

Allez, on continue dans las Maths Médiévales,
Construction de  Carrés Magiques

Le code (incitation à la faineantise):

%Observation de structures réguliéres
%Dans des Carrés Magiques
%D'ordre 10 puis 25
%Mathematiques Médiévales
CarreMagique10=magic(10)
CarreMagique25=magic(25)
iCarreMagique10=inv(CarreMagique10)
iCarreMagique25=inv(CarreMagique25)
imagesc(CarreMagique25)

La visualisation:

D'abord, le Carré d'ordre 10:


Et pour celui d'orde 25:


Bo.
Par Franck Balmer - Publié dans : Crypto et Terato
Ecrire un commentaire - Voir les 0 commentaires - Recommander
Lundi 24 décembre 2007

Avant d'utiliser un HackTool, un petit coup de reverse s'impose.
Histoire de voir si il ne fait pas autre chose que ce qu'il prétend.

Plus le soft est léger, mieux c'est: Choper une fonction piégée dans le reverse d'un .exe de 3Mo, c'est chaud.

Comme d'hab, toujours le méme séquencement des opérations:
-Identification d'une éventuelle compression/cryptage.
-Identification du Compilos utilisé.
-Passage à l'éditeur Hexa pour flairer le binaire, trouver les chaines de caractéres.
-Désassemblage.
-Isolation des fonctions clés.
-Si on veut récupérer du code, ou mieux comprendre la logique: Décompilation partielle.

En route, avec un éxécutable nommé AutoHack.exe (pas d'autre précision):

Identification RDG:

Le binaire étant compresser UPX standard, un petit coup de upx -d est tout est nickel:


Au passage, une fonction éclatante de HeXPlorer, la vision "Pixels" d'un Bin:


Ensuite, un passage sous IDA.
On remarque que l'engin tente une connextion "Null Session" avec la cible, puis essaye ensuite le Map du partage C$.
Il attaque donc la machine en NetBios.



Bon, histoire de confirmer, un petit tour du coté de RecStudio pour obtenir un source C approximatif de certaines fonctions:



Conclusion:

La béte ne fait pas que de chercher des partages ouverts sur la cible, mais semble également vouloir copier des chose dans les répertoires d' AutoStart.
Donc méfiance: Il faut absolument voir ce qui est envoyé, car c'est un mécanisme de propagation courant chez les Vers NetBios.
Donc prochaine étape: Lancement sur une Machine-Suicide VMWare isolée du réseau.

Krak.
Par Franck Balmer - Publié dans : Bidouille Grenouille
Ecrire un commentaire - Voir les 0 commentaires - Recommander
Créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus