Skip to content

0x24bin/3xp10it

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Disclaimer

[!] legal disclaimer: Usage of 3xp10it.py and web.py for attacking targets without prior mutual consent is 
illegal.It is the end user's responsibility to obey all applicable local, state and federal laws.Developers
assume no liability and are not responsible for any misuse or damage caused by this program.

Install

git clone https://github.com/3xp10it/3xp10it.git

Usage

bash beforeWork.sh[这一步安装相关依赖,第一次使用本工具时需要运行,以后不用再运行]
python3 3xp10it.py[主程序,工作时运行,第一次运行时需要先运行上面的beforeWork.sh]
python3 web.py[可选,如果运行则要新开一个终端运行以便于查看相关输出信息,该工具为web后台]

Requirement

need python3
need pip3
mysql
works on linux(test on ubuntu and kali2.0,others not test)

python3安装可参考如下步骤:
	apt-get install python3
	或:
	wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz
	tar xJf Python-3.5.2.tar.xz
	cd Python-3.5.2
	./configure --prefix=/opt/python3
	make && make install
	ln -s /opt/python3/bin/python3.5 /usr/local/bin/python3
	
pip3安装:
apt-get install -y python3-pip

kali linux2安装pip3可参考如下步骤:
	echo "deb-src http://http.kali.org/kali kali main non-free contrib" >> /etc/apt/sources.list
	echo "deb-src http://security.kali.org/kali-security kali/updates main contrib non-free" >> /etc/apt/sources.list
	apt-get update
	apt-get install python3-pip

About

a)3xp10it是一个自动化渗透测试框架,目前没有做到完全自动化[自动上传漏洞利用框架和自动fuzz框架暂时没有加入]

b)支持功能列表

  • cdn真实ip查找模块
  • 旁站获取[如果在cdn模块中发现有cdn但是没有获取到真实ip则不进行旁站获取]
  • 子站获取
  • 高危漏洞扫描模块
  • 爬虫模块
  • 目标网站脚本类型检测
  • 目录扫描模块
  • sqli扫描模块
  • robots/sitemap自动收集
  • cms识别与cms漏洞扫描模块
cms识别支持以下cms:
    aspcms
    dedecms
    discuz
    drupal
    dvbbs
    ecshop
    emlog
    empirecms
    espcms
    foosuncms
    hdwiki
    joomla
    kesioncms
    kingcms
    ljcms
    php168
    phpcms
    phpwind
    powereasy
    qibosoft
    siteserver
    southidc
    wordpress
    z-blog
    opencart

cms漏洞扫描模块:
在cms识别基础上支持所有exploit-db.com支持的已有漏洞,不能识别的cms暂不支持查询对应exploit-db.com漏洞库数据,
wordpress,joomla,discuz这3个cms支持额外专门的对应漏洞扫描工具与基于exploit-db.com的漏洞库查询

  • 自动识别管理员页面并爆破[支持自动识别简单验证码]
1.支持自动识别简单验证码
2.支持跳转到管理员登录页面直接爆破
    eg.http://127.0.0.1/wp-admin会跳转到http://127.0.0.1/wp-login.php这个真实的登录页面
    支持输入参数为http://127.0.0.1/wp-admin时直接爆破http://127.0.0.1/wp-login.php
  • webshell自动查找与爆破,支持asp,php,aspx,jsp,支持chopper一句话webshell和大马类型webshell
a)apache,iis,nginx,lighttpd在phpstudy中测试默认可接收1000个post参数  
b)一句话类型webshell根据上面的特点可以正常情况下(单线程)的1000倍速度来爆破,可用大字典爆破,但是不能用多线程,
  可能是因为用多线程会太快而让web server觉得每次的参数不止1000个  
c)其他类型web server未测试,暂用多线程1倍速爆破,用最常用的webshell较小字典,17659个左右  
d)大马类型webshell由于表单名是一定的,所以不能以1000倍速爆破,于是也用和c)中一样的小字典多线程1倍速爆破  
  • 资源文件收集
  • 端口扫描模块
  • 端口暴破模块
对21,22,1433,3306,3389端口根据开放情况使用medusa进行暴力破解
  • whois信息收集
  • 支持人工渗透时记录笔记
笔记功能需要额外安装phpmyadmin等可以编辑数据库的工具,访问数据库,在targets|xxx_pang|xxx_sub表中有一个note列可用
于记录人工渗透时的笔记,查看扫描结果最好也用phpmyadmin来查看数据库的targets表和xxx_pang和xxx_sub表,如果不安装
phpmyadmin也可由web.py在web后台中查看扫描结果

c)可选工作模式

模式一:扫描目标和目标的所有旁站
模式二:扫描目标和目标的所有子站
模式三:扫描目标和目标的所有旁站和所有子站
模式四:只扫描目标

默认使用模式一扫描[在运行3xp10it后可自选],上面四种模式中的[扫描目标]里的目标支持批量导入多个目标和手工录入多个
目标.四种工作模式中与旁站和子站相关的由程序自动完成[eg.选择模式三工作时,将自动获取导入的目标的所有旁站和所有子
站,并对这些旁站和子站依次遍历上面的各个扫描模块]

d)特点

  • 可在中断后重新运行时从断点附近接着上次的过程扫描,不用重新扫描
  • 运行3xp10it后自动从数据库中取出待完成的扫描任务进行扫描
  • 支持正常扫描和优先扫描两个扫描组,如果优先扫描组里有任务则先扫描优先扫描组里的目标,在添加任务时可选择将目标是 正常扫描还是优先扫描
  • 上述支持功能列表中的功能默认全部遍历扫描,如果要使用单个模块可在web界面使用
  • 3xp10it配备一个web后台,web页面可查询当前扫描结果与使用单个模块功能
  • 3xp10it独立于web运行,也即没有目录下的pannel文件夹也可运行
  • 目录下的pannel文件夹是Django为3xp10it写的一些相关界面,web界面使用在下面介绍
  • 支持找到高危漏洞邮件通知[eg.sqli,webshell爆破成功等]

e)web后台说明

  • web后台如下图,需要管理员身份登录才可进后台

  • web后台相当于3xp10it的部分界面+分割的模块化工具+exp10it中没有的功能的附加工具的集合
  • web后台由Django==1.10.3开发
  • web后台中支持工具列表
    • targets:查看扫描目标,新增/删除扫描目标
    • 获取旁[子]站:获取旁站或子站模块
    • xcdn:尝试识别cdn背后的真实ip
    • 高危漏扫:高危漏洞扫描模块
    • sqli:sql注入模块
    • 扫目录:目录扫描模块
    • cms漏扫:cms漏洞扫描模块
    • webshell爆破:webshell爆破模块
    • 管理员登录爆破:管理员登录爆破模块
    • waf爆破:waf自动爆破模块[3xp10it中没有这个功能]
    • dbquery:数据库语句执行接口
    • 扫描结果:查看当前扫描结果

Detail

1.3xp10it需要用到bingapi,需要先申请好bingapi
2.上面的web.py不一定要运行,核心功能在3xp10it.py文件中
3.如果要后台功能需运行python3 web.py
4.如果要使用web.py,重新开机后需要重新运行web.py
5.运行web.py常见错误:端口被占用.解决方法:
a)netstat -ntlp | grep 8000
b)在a)中找到pid后kill -9 pid
c)重新运行python3 web.py
6.3xp10it中调用的是关键模块exp10it中的exp10itScanner,exp10it模块由pip3 install exp10it安装,安装路径一般如下:
/usr/local/lib/python3.5/dist-packages
7.文件分布结构如下:

当前目录
.
├── 3xp10it.py
├── pannel
│   ├── ghostdriver.log
│   ├── manage.py
│   ├── models.py[web后台没有用django的模型]
│   ├── pages[web页面的html文件,相当于django的template]
│   └── pannel[django相关文件]
│       ├── __init__.py
│       ├── settings.py
│       ├── urls.py[django配置的访问与响应规则]
│       ├── views.py[django配置的关键函数]
│       └── wsgi.py
├── readme.md
├── uninstall.py
└── web.py


/usr/local/lib/python3.5/dist-packages路径下相关文件

├── cms_identify[cms识别模块相关文件]
├── cms_scan[cms漏洞扫描模块相关文件]
├── config.ini[配置文件]
├── dicts[字典文件]
├── dirsearch[目录扫描模块相关文件]
├── exp10it.py[关键模块文件]
├── exps[exp模块相关文件]
├── log[日志文件夹]
├── tools[web后台中的各个工具]

FAQ

Q0:config.ini 这个文件怎么没有找到?
A0:config.ini在python3 3xp10it.py初次运行后会自动生成,用于设置bing API key,发邮件的帐号,数据库连接配置,扫描模式
   等信息,一般会在/usr/local/lib/python3.5/dist-packages/config.ini这里,与python3的安装路径有关


Q1:单个模块怎么使用?
A1:单个模块执行有2种方法:
   1)web后台
   2)cd /usr/local/lib/python3.5/dist-packages/tools && ls -al

Q2:为什么需要连接google才能用?
A2:要保证能直接ping通google证明可以绕过GFW,有些domain不连vpn会无法访问,这样的domain在正常情况下被GFW拦截时会影响
   代码获取真实ip的效果,代码中强制要求连接vpn

Q3:bing api key怎么注册?网上的教程都是错的?
A3:好像是bing暂停注册了,这样的话只能向以前注册过的人要,如果bing一直这样,将考虑在代码中修改这个接口,但3个月内暂
   时不修改

Todo

1.向cgc致敬,探索智能化
    refer:https://github.com/jivoi[awesome-ml-for-cybersecurity]
2.高危漏洞添加struts2漏洞

Changelog

[+] 2017-02-22 增加cms漏洞扫描模块,基于exploit-db.com
[+] 2017-02-21 增加常见开放端口暴破模块
[+] 2017-02-12 修改xwaf模块更新支持所有sqlmap参数
[+] 2017-01-22 添加支持跳转到管理员页面的爆破
[+] 2017-01-10 add一处xcdn.py容错
[+] 2017-01-09 添加支持人工记录渗透笔记
[+] 2017-01-08 whois信息收集模块完善
[+] 2017-01-08 添加端口扫描模块
[+] 2017-01-08 cdn模块调整
[+] 2017-01-06 添加支持如http://127.0.0.1/administrator页面的爆破,实际上http://127.0.0.1/administrator并不是
    直接的管理员页面,在浏览器中输入http://127.0.0.1/administrator后会跳转到"http://127.0.0.1/administrator/",
    这才是有效的待爆破的管理员页面
[+] 在与获取旁站有关的功能上自动尝试获取cdn后真实ip再获取旁站,如果确定有cdn但是没有获取到真实ip则不再获取假的旁
    站
[+] 修改exp10it.py中create table %s为create table `%s`[包括其他关于表名处的%s全部换成`%s`],如果没有``将会在表名
    为abc-def格式(中间有-符号)情况下建表失败
[+] webshell爆破速度提升1000倍(接地气思路,适用于一句话类型webshell)

About

一个自动化渗透框架

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 45.1%
  • CSS 31.1%
  • HTML 13.8%
  • Python 10.0%