查看: 129915|回复: 902

[Python] 一个简短的字符处理脚本

[复制链接]
  • TA的每日心情
    开心
    2017-10-1 06:59
  • 签到天数: 308 天

    [LV.8]以坛为家I

    发表于 2015-11-20 11:18:32 | 显示全部楼层 |阅读模式
    本帖最后由 sladjfksld 于 2015-11-20 11:46 编辑

    前几天用cain嗅探一个C段时,嗅出了一堆3389登录账号密码,大概有几万个吧,其中大部分都是别人爆破的记录,是无效的的。
    cain把每个登录记录都保存一个txt,用cain rdp parser读取的话,要点开好几万次txt,那得搞死个人,并且也不容以判断哪个是有效的,哪个是爆破的。
    在网上down了一个批量读取记录的php脚本,下载地址见:http://lcx.cc/?i=3307,读出来的账号密码单独保存在一个txt中,就是下面的截图
    QQ截图20151120111112.jpg
    但是这玩意儿有好几万个记录,也不好判断哪个有效啊,然后无赖之下就写了个python脚本,便于分析
    脚本代码如下:
    [AppleScript] 纯文本查看 复制代码
    import string
    
    list=[]
    list_server=[]
    depre_list_server=[]
    result_list=[]
    
    #提取被爆破serve的IP地址,并去重
    def obtain_server_address():
        for line in open('rdp.txt'):
            list.append(line)
        for line_list in list:
            if('Server' in line_list):
                line_server_address=line_list.split(':')[1].strip()
                list_server.append(line_server_address)
            else:
                pass
        list_server_depre=set(list_server)
        for i in list_server_depre:
            depre_list_server.append(i)
            
    #按被爆破serverIP地址,登录源地址,账号,密码打印列出    
    def trans_str():
        for server_address in depre_list_server:
            for line_index,value in enumerate(list):
                if(server_address in value):
                    client_address_index=line_index+1
                    username_index=line_index+2
                    password_index=line_index+3
                    if('Client' in list[client_address_index]):
                        client_address=list[client_address_index].split(':')[1].strip()
                    else:
                        client_address='不存在client server'
                    if('username' in list[username_index]):
                        username=list[username_index].split(':')[1].strip().replace(' ','')
                    else:
                        username='不存在username'
                    if('password' in list[password_index]):
                        password=list[password_index].split(':')[1].strip().replace(' ','')
                    else:
                        password='不存在password'
                    result=server_address+' '+client_address+' '+username+' '+password
                    result_list.append(result)
                else:
                    pass
        for result_index,result_line in enumerate(result_list):
            result_dict=result_line.split(' ')
            if(result_index==0):
                print result_line
            elif(result_index>0):
                if(result_dict[0]!=result_list[result_index-1].split(' ')[0]):
                   print result_line
                else:
                   print '               ',result_dict[1],result_dict[2],result_dict[3]
            else:
                print '出现错误'
    
    if __name__=="__main__":
        obtain_server_address()
        trans_str()


    执行结果见图
    02.jpg
    第一列是服务器地址,第二列是登录源地址,第三列是账号,第四列是密码。可以看到登录源地址大部分都相同,这肯定是爆破记录,一般都是无效的,不用去登录尝试了
    只需要重点找那些单独出现的登录源地址对应的账号密码尝试就OK了
    回复

    使用道具 举报

  • TA的每日心情

    2019-2-12 22:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2015-11-21 15:01:45 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-11-21 19:45:05 | 显示全部楼层
    支持,看起来不错呢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-11-22 01:10:14 | 显示全部楼层
    感谢楼主的分享~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-11-22 15:26:59 | 显示全部楼层
    感谢楼主的分享~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-11-23 03:48:08 | 显示全部楼层
    支持,看起来不错呢!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-6-21 22:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-11-23 13:21:46 | 显示全部楼层
    学习学习技术,加油!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-11-23 21:24:04 | 显示全部楼层
    支持,看起来不错呢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-11-24 11:36:32 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-11-24 16:59:01 | 显示全部楼层
    感谢楼主的分享~
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-5-17 10:56 , Processed in 0.022659 second(s), 14 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部