首页 存档 技术 查看内容

来一份python打造的渗透工具集

2018-3-30 13:00 |来自: 互联网 359 0

摘要: 作者:xiaoye i春秋社区难易程度:★★★阅读点:python;web安全关键字:网络渗透技术 是不是放假啦 来点儿干货调剂一下生活吧前言 python是门简单易学的语言,强大的第三方库让我们在编程中事半功倍,今天我们就来 ...

作者:xiaoye

i春秋社区

难易程度:★★★

阅读点:python;web安全
关键字:网络渗透技术


是不是放假啦

来点儿干货调剂一下生活吧


前言


python是门简单易学的语言,强大的第三方库让我们在编程中事半功倍,今天我们就来谈谈python在渗透测试中的应用,让我们自己动手打造自己的渗透工具集。


信息搜集--py端口扫描小脚本


端口扫描是渗透测试中常用的技术手段,发现敏感端口,尝试弱口令或者默认口令爆破也是常用的手段,之前自学python时候百度着写了个小脚本。
端口扫描小脚本:


#coding: utf-8

import socket

import time

def scan(ip, port):

try:

socket.setdefaulttimeout(3)

s = socket.socket()

s.connect((ip, port))

return True

except:

return

def scanport():

print '作者:xiaoye'.decode('utf-8').encode('gbk')

print '--------------'

print 'blog: [url]http://blog.163.com/sy_butian/blog'[/url]

print '--------------'

ym = raw_input('请输入域名(只对未使用cdn的网站有效):'.decode('utf-8').encode('gbk'))

ips = socket.gethostbyname(ym)

print 'ip: %s' % ips

portlist = [80,8080,3128,8081,9080,1080,21,23,443,69,22,25,110,7001,9090,3389,1521,1158,2100,1433]

starttime = time.time()

for port in portlist:

res = scan(ips, port)

if res :

print 'this port:%s is on' % port

endtime = time.time()

print '本次扫描用了:%s秒'.decode('utf-8').encode('gbk') % (endtime-starttime)

if __name__ == '__main__':

scanport()


对于端口扫描技术,其实分很多种,通常是利用tcp协议的三次握手过程(从网上偷张图...)



放出的那个脚本,是利用了tcp connect() 即完成了tcp三次握手全连接,根据握手情况判断端口是否开放,这种方式比较准确,但是会在服务器留下大量连接痕迹。


当然,如果不想留下大量痕迹,我们可以在第三次握手过程,将ack确认号变成rst(释放连接),连接没有建立,自然不会有痕迹,但是这种方法需要root权限 。


好了,先讲解一下我们的py端口扫描小脚本:


核心代码:


portlist = [80,8080,3128,8081,9080,1080,21,23,443,69,22,25,110,7001,9090,3389,1521,1158,2100,1433]

for port in portlist:

res = scan(ips, port)

if res :

print 'this port:%s is on' % port


这段代码是定义了要扫描的端口,并且用for ..in .. 来进行遍历


socket.setdefaulttimeout(3)

s = socket.socket()

s.connect((ip, port))


这段代码,是利用了socket套接字,建立tcp连接,socket.socket()就是s = socket.socket(socket.AF_INET, socket.SOCK_STREAM),用于tcp连接建立



实用爆破小脚本--压缩文件密码爆破


声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部