Nmap
-
nmap1
– SCAN TECHNIQUES:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
–SERVICE/VERSION DETECTION:
-sV: Probe open ports to determine service/version
SCRIPT SCAN:
-sC: equivalent to --script=default
nmap -sS -sC -sV 10.10.10.170
>SYN Stealth Scan Timing: About 75.36% done;
>Service scan Timing: About 50.00% done; ETC: 22:04 (0:00:06 remaining)
>NSE Timing: About 99.63% done; ETC: 22:04 (0:00:00 remaining)
最终结果:
Nmap scan report for 10.10.10.170
Host is up (0.22s latency).
Not shown: 924 closed ports, 74 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 0e:7b:11:2c:5e:61:04:6b:e8:1c:bb:47:b8:4d:fe:5a (RSA)
|_ 256 18:a0:87:56:64:06:17:56:4d:6a:8c:79:4b:61:56:90 (ECDSA)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-title: Site doesn't have a title (text/html).
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
gobuster
目录/文件和DNS爆破工具
dir模式
-a <user agent string> - 指定要在请求标头中发送的用户代理字符串。
-c <http cookies> - 使用它来指定您可能需要的任何cookie(模拟身份验证)。
-e - 指定呈现完整URL的扩展模式。
-f- 附加/目录暴力。
-k - 跳过SSL证书的验证。
-l - 显示响应的长度。
-n - “无状态”模式,禁用结果状态代码的输出。
-o <file> - 指定要将输出写入的文件名。
-p <proxy url> - 指定用于所有请求的代理(方案与URL方案非常匹配)。
-r - 按照重定向。
-s <status codes>- 逗号分隔的状态代码列表集合被视为“正面”(默认值:) 200,204,301,302,307。
-x <extensions> - 要检查的扩展名列表(如果有)。
-P <password> - HTTP授权密码(仅限基本身份验证,如果缺少则提示)。
-U <username> - HTTP授权用户名(仅限基本身份验证)。
-to <timeout> - HTTP超时。示例:10s,100ms,1m(默认值:10s)。
公共命令行
-fw - 使用通配符结果强制处理域。
-np - 隐藏进度输出。
-m <mode>- 使用哪种模式,dir或者dns(默认:) dir。
-q - 禁用横幅/下划线输出。
-t <threads>- 要运行的线程数(默认值:) 10。
-u <url/domain> - 完整URL(包括方案)或基本域名。
-v - 详细输出(显示所有结果)。
-w <wordlist>- 用于暴力强制的wordlist的路径(-用于stdin)。
示例
gobuster dir -u http://10.10.10.170 -w /usr/share/dirbuster/wordlists/directory-list-2.3-small.txt -x js,php,html(如果确定目录有.js格式文件)
> -w 的字典在:
> share/dirbuster/wordlists 目录下:
- apache-user-enum-1.0.txt
directory-list-2.3-medium.txt
directory-list-lowercase-2.3-medium.txt apache-user-enum-2.0.txt
directory-list-1.0.txt
directory-list-2.3-small.txt
directory-list-lowercase-2.3-small.txt
jq
apt-get install jq
jq命令允许直接在命令行下对JSON进行操作,包括分片、过滤、转换等
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集
JSON 数据的书写格式是: 名称/对象。
JSON的结构基于两点
JSON的基础结构说明
- 值的有序列表 多数语言中被理解为数组(array)
[ ]
- 对象是属性、值的集合。一个对象开始与”{” ,结束于”}”。每一个属性名和值间用”:”分隔。每个属性间用”,”分隔。
{ }
- 值可以是字符串,数字,逻辑值,数组,对象,null。
数字:整数或浮点数
字符串:在双引号中
逻辑符:true和false
数组:在方括号中
对象:在花括号中
null: 代表空
jq格式命令:
jq [options] filter [files]
**options:**
--version:输出jq的版本信息并退出
--slurp/-s:读入整个输入流到一个数组。
--raw-input/-R:不作为JSON解析,将每一行的文本作为字符串输出到屏幕。
--null-input/ -n:不读取任何输入,过滤器运行使用null作为输入。一般用作从头构建JSON数据。
--compact-output /-c:使输出紧凑,而不是把每一个JSON对象输出在一行。
--colour-output / -C:打开颜色显示
--monochrome-output / -M:关闭颜色显示
--ascii-output /-a:指定输出格式为ASCII
-raw-output /-r :如果过滤的结果是一个字符串,那么直接写到标准输出(去掉字符串的引号)
**filter:**
. : 默认输出
.foo: 输出指定属性,foo代表属性。
.[foo] :输出指定数组元素。foo代表数组下标。
.[]:输出指定数组中全部元素
, :指定多个属性作为过滤条件时,用逗号分隔
| : 将指定的数组元素中的某个属性作为过滤条件
**files:**
JOSN格式文件。
示例:
jq .[] apinfo.json
{
"firmwareVersion": "1.0.6.29",
"hardVersion": "1.20",
"Operators": "CTCC",
"iccid": "DATA DATA",
"snOf3g": "A000004E123ABD2",
"modelOf3g": "MC271X",
"Company_3g": "ZTEMT INCORPORATED",
"MEID_3g": "A000004E123ABD2",
"memorySN": "000000",
"memoryModel": "abcdefg",
"cpuSN": "000000",
"cpuModel": "MIPS 74Kc V4.12",
"mac": "00:1F:64:CE:F3:8E",
"hostsn": "01010730b12014A00477",
"hostModel": "CS-VIC-1999-C",
"stCompany": "Beijing Autelan Technology",
"boardSN": "01010730b12014A00477",
"networkCardMac": "00:1F:64:CE:F3:8F",
"lowFreModel": "AR9344",
"lowFreSN": "000000",
"hignFreModel": "AR9582",
"hignFreSN": "000000",
"gpsModel": "abcdefg",
"gpsSN": "000000"
}
$ jq -r .[].mac apinfo.json
00:1F:64:CE:F3:8E
$ jq -r '.[] | .mac' apinfo.json
00:1F:64:CE:F3:8E
$ jq -r '.[] |.mac, .gpsSN' apinfo.json
00:1F:64:CE:F3:8E
000000
jq -r '.[].mac, .[].gpsSN' apinfo.json
00:1F:64:CE:F3:8E
000000
另一个示例:config.json
1 {
2 server : mysock5,
3 port : 12306,
4 password : ""
5 }
jq -r '.' config.json
>输出:
{
"server": "mysock5",
"port": "12306",
"password": ""
}
jq -r '.|.port,.server' config.json
>输出:
12306
mysock5
grep 小技巧总结
从多文件搜相同关键词
-i, --ignore-case
Ignore case distinctions, so that characters that differ only in case match each other.
-R, --dereference-recursive
Read all files under each directory, recursively. Follow all symbolic links, unlike -r.