<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Security on kamuszhou&#39;s blog</title>
    <link>https://ykyi.net/categories/security/</link>
    <description>Recent content in Security on kamuszhou&#39;s blog</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Wed, 20 Jun 2018 07:03:11 +0000</lastBuildDate>
    <atom:link href="https://ykyi.net/categories/security/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>openssl签发证书肘后备急方（cheatsheet）</title>
      <link>https://ykyi.net/?p=1446/</link>
      <pubDate>Wed, 20 Jun 2018 07:03:11 +0000</pubDate>
      <guid>https://ykyi.net/?p=1446/</guid>
      <description>&lt;h3 id=&#34;生成一对新的rsa非对称密钥2048bits长-generate-an-rsa-private-key&#34;&gt;生成一对新的RSA非对称密钥,2048bits长。 generate an RSA private key&lt;/h3&gt;
&lt;p&gt;openssl genrsa -out private.key 2048&lt;/p&gt;
&lt;h3 id=&#34;从私钥中提出公钥-extract-the-public-key&#34;&gt;从私钥中提出公钥。 extract the public key&lt;/h3&gt;
&lt;p&gt;openssl rsa -in mykey.pem -pubout &amp;gt; my_pubkey.pub&lt;/p&gt;
&lt;h3 id=&#34;创建自签名证书create-a-self-singned-certificate&#34;&gt;创建自签名证书。create a self-singned certificate&lt;/h3&gt;
&lt;p&gt;openssl req -config openssl.conf -x509 -sha256 -days 3650 -newkey rsa:4096 -keyout ca.key -out ca.crt&lt;/p&gt;
&lt;h3 id=&#34;签署csrsign-the-csr&#34;&gt;签署CSR。sign the CSR&lt;/h3&gt;
&lt;p&gt;openssl ca -config openssl.conf -days 375 -notext -in test.csr -out test.crt&lt;/p&gt;
&lt;h3 id=&#34;检验签书verify-the-certificate&#34;&gt;检验签书。verify the certificate&lt;/h3&gt;
&lt;p&gt;openssl verify -CAfile ca.crt test.crt&lt;/p&gt;
&lt;h3 id=&#34;生成一个csrgenerate-a-new-private-key-and-csrcertificate-signing-request&#34;&gt;生成一个CSR。Generate a new private key and CSR(Certificate Signing Request)&lt;/h3&gt;
&lt;p&gt;openssl req -config openssl.conf -out CSR.csr -nodes -new -newkey rsa:2048 -nodes -keyout private.key&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://ykyi.net/?p=1327/</link>
      <pubDate>Tue, 17 Jan 2017 09:35:16 +0000</pubDate>
      <guid>https://ykyi.net/?p=1327/</guid>
      <description>&lt;h2 align=&#34;center&#34;&gt;
  &lt;span lang=&#34;EN-US&#34;&gt;1. &lt;/span&gt;前言：
&lt;/h2&gt;
&lt;p&gt;&lt;span lang=&#34;EN-US&#34;&gt; &lt;/span&gt;&lt;span lang=&#34;EN-US&#34;&gt; &lt;/span&gt;&lt;span lang=&#34;EN-US&#34;&gt;ZeroMq aka zmq&lt;/span&gt;是最知名的网络消息中间件之一。使有&lt;span lang=&#34;EN-US&#34;&gt;zmq&lt;/span&gt;的开源软件中最知名的莫过于&lt;span lang=&#34;EN-US&#34;&gt;Apache&lt;/span&gt;基金会下的&lt;span lang=&#34;EN-US&#34;&gt;Storm&lt;/span&gt;。我厂内部使用&lt;span lang=&#34;EN-US&#34;&gt;zmq&lt;/span&gt;的有即通的&lt;span lang=&#34;EN-US&#34;&gt;yaaf&lt;/span&gt;框架。&lt;/p&gt;
&lt;p&gt;&lt;span lang=&#34;EN-US&#34;&gt;   ZMQ&lt;/span&gt;社区在&lt;span lang=&#34;EN-US&#34;&gt;2013&lt;/span&gt;年&lt;span lang=&#34;EN-US&#34;&gt;9&lt;/span&gt;月发布了&lt;span lang=&#34;EN-US&#34;&gt;zmq4&lt;/span&gt;。&lt;span lang=&#34;EN-US&#34;&gt;zmq4&lt;/span&gt;最大的新功能即提供了一套安全机制，其中有&lt;span lang=&#34;EN-US&#34;&gt;IP&lt;/span&gt;黑白名单，用户名&lt;span lang=&#34;EN-US&#34;&gt;/&lt;/span&gt;密码鉴权，&lt;span lang=&#34;EN-US&#34;&gt;ECC(Elliptic Curve Cryptography)&lt;/span&gt;证书鉴权，以及通讯的加密&lt;span lang=&#34;EN-US&#34;&gt;(&lt;/span&gt;类似&lt;span lang=&#34;EN-US&#34;&gt;TSL)&lt;/span&gt;。&lt;/p&gt;
&lt;p&gt;&lt;span lang=&#34;EN-US&#34;&gt;   &lt;/span&gt;本文主要介绍&lt;span lang=&#34;EN-US&#34;&gt;zmq4.0&lt;/span&gt;的安全机制。&lt;/p&gt;
&lt;h2 style=&#34;text-align: center;&#34;&gt;
  &lt;span lang=&#34;EN-US&#34;&gt;2. &lt;/span&gt;&lt;span lang=&#34;EN-US&#34;&gt;ECC&lt;/span&gt;的故事：
&lt;/h2&gt;
&lt;p&gt;&lt;span lang=&#34;EN-US&#34;&gt;   &lt;/span&gt;这里的&lt;span lang=&#34;EN-US&#34;&gt;ECC&lt;/span&gt;不是我厂历史上的电商事业群，而是椭圆曲线加密算法。&lt;span lang=&#34;EN-US&#34;&gt;ECC&lt;/span&gt;据说被&lt;span lang=&#34;EN-US&#34;&gt;NSA(&lt;/span&gt;美国安全局&lt;span lang=&#34;EN-US&#34;&gt;)&lt;/span&gt;操作，在算法中设置了后门。不过好在不是只有一种椭圆曲线，而是有无数种，不同的曲线有不同的优点和缺点，只是其中由&lt;span lang=&#34;EN-US&#34;&gt;NIST(&lt;/span&gt;美国标准和技术研究署&lt;span lang=&#34;EN-US&#34;&gt;)&lt;/span&gt;推荐的曲线被怀疑设置了后门。&lt;/p&gt;
&lt;p&gt;&lt;span lang=&#34;EN-US&#34;&gt;   ZMQ&lt;/span&gt;使用的椭圆曲线算法是&lt;span lang=&#34;EN-US&#34;&gt;&lt;a href=&#34;http://cr.yp.to/ecdh.html&#34;&gt;Curve25519&lt;/a&gt; ,&lt;/span&gt;它有开源实现而且没有专利保护。&lt;span lang=&#34;EN-US&#34;&gt;zmq&lt;/span&gt;用了长度为&lt;span lang=&#34;EN-US&#34;&gt;256bits&lt;/span&gt;的密钥，强度相当于&lt;span lang=&#34;EN-US&#34;&gt;RSA 3072&lt;/span&gt;比特的密钥长度。&lt;/p&gt;
&lt;p&gt;&lt;span lang=&#34;EN-US&#34;&gt;   ECDH(Elliptic Curve Diffie-Hellman)&lt;/span&gt;则是一个密钥协商协议。非常简单地讲，当&lt;span lang=&#34;EN-US&#34;&gt;A&lt;/span&gt;与&lt;span lang=&#34;EN-US&#34;&gt;B&lt;/span&gt;在一个不受信任的网络中通讯前，&lt;span lang=&#34;EN-US&#34;&gt;A&lt;/span&gt;和&lt;span lang=&#34;EN-US&#34;&gt;B&lt;/span&gt;先生成一对公私钥，并且&lt;span lang=&#34;EN-US&#34;&gt;A&lt;/span&gt;和&lt;span lang=&#34;EN-US&#34;&gt;B&lt;/span&gt;通过某个完全的渠道事先知道对方的公钥，然后&lt;span lang=&#34;EN-US&#34;&gt;A&lt;/span&gt;和&lt;span lang=&#34;EN-US&#34;&gt;B&lt;/span&gt;在握手阶段协商出一个双方公知的私钥供加密接下来的通讯。&lt;/p&gt;
&lt;p&gt;&lt;span lang=&#34;EN-US&#34;&gt;    &lt;/span&gt;可以理解成&lt;span lang=&#34;EN-US&#34;&gt;zmq&lt;/span&gt;设计了一个专门为自己定制的精简的&lt;span lang=&#34;EN-US&#34;&gt;TLS&lt;/span&gt;，更多的理论细节在&lt;span lang=&#34;EN-US&#34;&gt;&lt;a href=&#34;http://curvezmq.org/page:read-the-docs&#34;&gt;http://curvezmq.org/page:read-the-docs&lt;/a&gt;&lt;/span&gt;，&lt;/p&gt;
&lt;p&gt;作为一个码农，下面用代码介绍使用&lt;span lang=&#34;EN-US&#34;&gt;zmq4&lt;/span&gt;的Curve安全机制&lt;/p&gt;
&lt;h2 style=&#34;text-align: center;&#34;&gt;
  &lt;span lang=&#34;EN-US&#34;&gt;3. &lt;/span&gt;证书鉴权&lt;span lang=&#34;EN-US&#34;&gt;,&lt;/span&gt;通讯加密&lt;span lang=&#34;EN-US&#34;&gt;,&lt;/span&gt;&lt;span lang=&#34;EN-US&#34;&gt;IP &lt;/span&gt;白名单
&lt;/h2&gt;
&lt;p&gt;编译&lt;span lang=&#34;EN-US&#34;&gt;zmq4.x&lt;/span&gt;以后，会生成一个名叫&lt;span lang=&#34;EN-US&#34;&gt;curve_keygen&lt;/span&gt;的程序，用它可以生成&lt;span lang=&#34;EN-US&#34;&gt;zmq &lt;/span&gt;的证书。证书是一个一般的文本文件，如下是一个&lt;span lang=&#34;EN-US&#34;&gt;curve_keygen&lt;/span&gt;生成的&lt;span lang=&#34;EN-US&#34;&gt;zmq&lt;/span&gt;证书的例子。&lt;/p&gt;
&lt;div class=&#34;km_insert_code&#34;&gt;
  &lt;pre class=&#34;brush:other&#34;&gt;#   ****  Generated on 2017-01-02 14:24:20 by CZMQ  ****
#   ZeroMQ CURVE **Secret** Certificate
#   DO NOT PROVIDE THIS FILE TO OTHER USERS nor change its permissions.
&lt;p&gt;metadata
    email = &amp;ldquo;&lt;a href=&#34;mailto:kamuszhou@tencent.com&#34;&gt;kamuszhou@tencent.com&lt;/a&gt;&amp;rdquo;
curve
    public-key = &amp;ldquo;!Upjrn]2Dk)jQkYREsceBnpgoIL7koE{CVnV1j4D&amp;rdquo;
    secret-key = &amp;ldquo;ZPT#=l/#Rtg:TeLbofh:uPi7#/w(GDZq[0^qPZA1&amp;rdquo;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;
  &amp;nbsp;
&lt;/p&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>traceroute failed.Specify protocal traceroute used manually to fix it.</title>
      <link>https://ykyi.net/?p=751/</link>
      <pubDate>Wed, 20 Jun 2012 14:37:16 +0000</pubDate>
      <guid>https://ykyi.net/?p=751/</guid>
      <description>&lt;p&gt;&lt;span style=&#34;font-family:lucida sans unicode,lucida grande,sans-serif;&#34;&gt;&lt;span style=&#34;font-size: 16px; &#34;&gt;Today, I ran the traceroute program on a machine running FreeBSD. It failed once and again.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&#34;font-family:lucida sans unicode,lucida grande,sans-serif;&#34;&gt;&lt;span style=&#34;font-size: 16px; &#34;&gt;Traceroute complained:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&#34;font-family:lucida sans unicode,lucida grande,sans-serif;&#34;&gt;&lt;span style=&#34;font-size: 16px; &#34;&gt;&lt;span style=&#34;color: rgb(51, 51, 51); line-height: 19px; text-align: left; &#34;&gt;traceroute: sendto: Permission denied.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&#34;text-align: left;&#34;&gt;
  &lt;span style=&#34;font-family:lucida sans unicode,lucida grande,sans-serif;&#34;&gt;&lt;span style=&#34;font-size: 16px; &#34;&gt;&lt;font color=&#34;#333333&#34;&gt;&lt;span style=&#34;line-height: 19px; &#34;&gt;So I tried to ping. Ping failed, too. I then checked out the configuration of the firewall, which actually denied the pass through of ICMP packet. So I set it to allow ICMP pacakges to pass through the firewall. Ping worked as I expected. But traceroute still failed.&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;</description>
    </item>
    <item>
      <title>What is 802.11 and their friends.</title>
      <link>https://ykyi.net/?p=687/</link>
      <pubDate>Tue, 19 Jun 2012 11:05:52 +0000</pubDate>
      <guid>https://ykyi.net/?p=687/</guid>
      <description>&lt;p&gt;WLAN(Wireless Lan) was invented in University of Hawaii, 1970, under the leadership of Professor Norman Abramson.The wireless network communicated using radios, without using phone lines making it easy to deploy over Hawaii islands.&lt;/p&gt;
&lt;p&gt;Original WLAN hardware was used as an alternative to cabled network where cabling was impossible or difficult. The protocals of WLAN at that time was proprietary. Many companies and universities appealed to establish a set of protocals as industry protocals. In the end of the 1990s, IEEE 802.11(Wifi) came to satisfy the urgent need. Subsequent amendments such as 802.11a, 802.11b, 802.11g, 802.11n was published in the following years. Other proprietary protocals was then graduately replaced by 802.11 family.&lt;/p&gt;</description>
    </item>
    <item>
      <title>tcpdump基础教程</title>
      <link>https://ykyi.net/?p=45/</link>
      <pubDate>Sun, 31 Oct 2010 05:34:49 +0000</pubDate>
      <guid>https://ykyi.net/?p=45/</guid>
      <description>&lt;p&gt;英文原文出自： &lt;a href=&#34;http://danielmiessler.com/study/tcpdump/&#34;&gt;A tcpdump Tutorial and Primer&lt;/a&gt;&lt;br&gt;
翻译: ykyi.net&lt;/p&gt;
&lt;p&gt;Tcpdump是信息安全专业人士最重要的一个网络分析工具。对这个工具有一个深入的理解对于每一个喜欢透彻理解tcp/ip协议栈的人来话都是必须的。但很多人选择一个更高级别的工级，比如Ethereal Wireshark，但是我认为这是一个错误！&lt;/p&gt;
&lt;p&gt;不应该机械的反复记忆概念而应该做到真正的理解，因为对tcp/ip协议簇保持清醒的认知非常的重要。如果对该协议簇能够完全精通，那你调试网络的能力则能比同行们高出几个档次。但是，要学精神tcp/ip协议簇，只有不够的实践剖析它们才能做到。&lt;/p&gt;
&lt;p&gt;当你使用某种工具来显示网络中的原始流量信息时，人类，而不是机器，就要承担起分析这些流量的重任了。用这种方法就可以不断地加深对tcp/ip的理解。并且，用这种学习方法的时候，我在任何可能的情况下都强烈主张使用tcpdump而不是其它工具。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;选项&lt;/strong&gt;&lt;br&gt;
下面将列出一些用例子的选项，这样可以在你使用这个工具时对你有很大的帮助。这些选项很容易淡忘或与其它类型的滤镜(Filter,笔者认为这里的滤镜实际上指的是其它网络工具)混淆。比如, ethereal。所以，希望这篇文章可以作为一个参考文档，我就是这样使用它的。&lt;/p&gt;
&lt;p&gt;首先，我要先介绍几个我认为很方便的tcpdump的选项。第一个是 -n, 这样的话域名就不会被解析了，而是用数字IP的形式显示地址(译者注: 同netstat的-n是一样的喔)。第二个是 -X, 这样就会同时把包的内容以ASCII码和十六制的形式显示。最后一个是 -S, 它个选项会显示绝对序号而不是相对序号。因为当包被隐藏起来的话，你也不会看到奇怪的序号。请谨记，tcpdump较之其它工具的优势之一就是可以与包(packets)手工交互。&lt;/p&gt;
&lt;p&gt;值得注意的是，tcpdump默认只会从packet中取出前96个字节。如果你想要多一些的话，那就需要需要把 -s xxxx 加上。这里的xxxx是你确切想要抓取的总字节数。如果我使用这个选项的话，我通常会把这个数字设定为1514而得到所有的数据。下面是一个简短的列表列出我经常使用的选项。&lt;/p&gt;
&lt;p&gt;-i any: 监听所有的介面。这样你就知道是不是有流量产生。&lt;br&gt;
-n: 不要解决主机名，以IP数字形式显示主机。&lt;br&gt;
-nn: 不要解析主机名或端口名字。&lt;/p&gt;
&lt;p&gt;-A: 以ASCII字符显示包的数据。&lt;br&gt;
-X: 同时以十六进制和ASCII字符显示包的数据。&lt;br&gt;
-XX: 同-X,但也会显示 Ethernet头部。&lt;br&gt;
-v, -vv, -vvv: 详细，更详细，再详细些！ 冗余输出得到的包信息。&lt;br&gt;
-c: 抓取 x 个包后就停下。&lt;br&gt;
-S: 打印绝对序号。&lt;br&gt;
-e: 同时得到Ethernet头部。&lt;br&gt;
-q: 显示少一点协议信息。&lt;br&gt;
-E: 用提供的密钥解密 IPSEC 流量。&lt;br&gt;
-s: 设置显示前多少个字节的包内容（snaplength）。&lt;/p&gt;
&lt;p&gt;tcpdump 4.0的snaplength的长度从68字节改成了96字节，这样你就可以看到多些内容了。但仍然看不到所有的内容，指定 -s 1514 得到包的所有内容。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://ykyi.net&#34;&gt;http://ykyi.net&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;一些基本的应用&lt;/strong&gt;&lt;br&gt;
根据我要查看的不同流量，我使用不同的选项组合，如下:&lt;/p&gt;
&lt;p&gt;1.Basic communication // see the basics without many options&lt;br&gt;
tcpdump -nS&lt;/p&gt;</description>
    </item>
    <item>
      <title>Burp套件教程(Burp Suite)</title>
      <link>https://ykyi.net/?p=40/</link>
      <pubDate>Thu, 28 Oct 2010 17:01:40 +0000</pubDate>
      <guid>https://ykyi.net/?p=40/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://portswigger.net/burp/&#34;&gt;原文来自http://portswigger.net/burp/&lt;/a&gt;&lt;br&gt;
ykyi.net 翻译&lt;/p&gt;
&lt;p&gt;使用Burp套件(Burp Suite)&lt;br&gt;
当启动Burp Suite以后，Burp的代理服务器就在本地的loopback介面上的8080端口上开始运行啦！通过设定浏览器使用这个Burp代理服务器，所有的WEB流量就可以被截获，窥视，修改。默认设置下，对非媒体资源(non-media)的请求将被截获而且显示出来(默认的设置可以在Burp Proxy的OPTION选项里修改）。所有的穿过Burp代理服务器的WEB流量将被自动分析并添加到站点地图里，这样就可以知道访问过的网站的内容和功能了。对于Burp的收费Professional版，默认情况下，所有的请求还会自动被Burp Scanner分析从而确定易受攻击的部分。&lt;/p&gt;
&lt;p&gt;在你就要刻苦大干一场之前，你需要完美地定义出你的工作的Target Scope(Burp的术语名词，不译出)。最简单的办法就是先浏览目标网站，然后定位相关主机和目录，再使用context菜单项把URL们添加到Target Scope里。中央范围配置(Central Scope Configuration)可以用来配置各个Burp工具。&lt;/p&gt;
&lt;p&gt;当你浏览目录WEB网站或程序的时候，你就能对截获的请求和响应进行手工编辑，或者你也可以完全关闭拦截功能。在拦截功能被关闭的情况下，每一条请求和响应仍然被记在历史记录里，所有的WEB内容也会被添加到站点地图里。&lt;/p&gt;
&lt;p&gt;除了可以用代理修改拦截下面的讯息，你也可以把迅息发送到其它Burp工具。这样就可以完成各种各样的不同的功能，比如：&lt;/p&gt;
&lt;p&gt;》你可以通过把请求发给Repeater来手动调节对WEB程序的测试，也可以不断地重发每个请求。&lt;br&gt;
》对于Professional版，可以把请求发给Scanner，就可以完成主动和被动漏洞扫描。&lt;br&gt;
》你可以把请求发给Intruder，就可以发起一个用户自定义的自动测试来确定一些常见的漏洞。&lt;br&gt;
》如果你发现响应中有会话令牌或者其它本应该是不可预测的ID号，你就可以把这个响应发给Sequencer来测试这个令牌的随机性。&lt;br&gt;
》可以把请求或响应中被模糊化处理的数据发给Decoder来尝试自动解析出明文。&lt;br&gt;
》对于Professional版，你可以使用各种Engagement工具来提高你的工作效率。&lt;br&gt;
对于代理的历史记录，站点地图中的主机·目录·文件 以及Burp工具的任何显示请求和响应的地方 你都可以执行以上任何操作。&lt;/p&gt;
&lt;p&gt;中央日志功能(central logging function)记录下来每个Burp工具的所有的响应和请求。每个Burp工具都可以在单独的窗口中运行也可以在TAB WINDOW下运行。每个工具和整个套件的配置可以被保存下来重复使用。对于Professional版，你还可以保存每个工具的状态，这样你就可以随心所欲的重新载入之前保存的状态。&lt;/p&gt;
&lt;p&gt;copyright ykyi.net&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
