Skip to content

Commit

Permalink
Automatic port allocation for unrooted phones compatibility
Browse files Browse the repository at this point in the history
  • Loading branch information
irinil committed Mar 18, 2020
1 parent 5fa0359 commit 3d61611
Show file tree
Hide file tree
Showing 17 changed files with 96 additions and 49 deletions.
9 changes: 3 additions & 6 deletions src/de/tudarmstadt/informatik/hostage/Listener.java
Expand Up @@ -53,15 +53,10 @@ public Listener getListener() {

private Protocol protocol;



private ServerSocket server;
private Thread thread;
private int port;
private Hostage service;



private ConnectionRegister conReg;
private boolean running = false;

Expand Down Expand Up @@ -192,7 +187,9 @@ public boolean start() {
try {
server = new MyServerSocketFactory().createServerSocket(port);
if (server == null)
return false;
server = new MyServerSocketFactory().createServerSocket(0);
if (server == null)
return false;
(this.thread = new Thread(this)).start();
running = true;
service.notifyUI(this.getClass().getName(),
Expand Down
Expand Up @@ -21,7 +21,7 @@ public class MyServerSocketFactory extends ServerSocketFactory {
@Override
public ServerSocket createServerSocket(int port) throws IOException {
ServerSocket socket = null;
if (port > 1023) {
if (port > 1023 || port == 0) {
socket = new ServerSocket();
socket.setReuseAddress(true);
socket.bind(new InetSocketAddress(port));
Expand Down
9 changes: 6 additions & 3 deletions src/de/tudarmstadt/informatik/hostage/protocol/ECHO.java
Expand Up @@ -12,10 +12,13 @@
*/
public class ECHO implements Protocol {

private int port = 7;

@Override
public int getPort() {
return 7;
}
public int getPort() { return port; }

@Override
public void setPort(int port){ this.port = port;}

@Override
public boolean isClosed() {
Expand Down
9 changes: 6 additions & 3 deletions src/de/tudarmstadt/informatik/hostage/protocol/FTP.java
Expand Up @@ -35,10 +35,13 @@ private static enum STATE {
private static final String REPLY_CODE_500 = "500 Syntax error, command unrecognized.";
private static final String REPLY_CODE_501 = "501 Syntax error in parameters or arguments";

private int port = 21;

@Override
public int getPort() {
return 21;
}
public int getPort() { return port; }

@Override
public void setPort(int port){ this.port = port;}

@Override
public boolean isClosed() {
Expand Down
9 changes: 6 additions & 3 deletions src/de/tudarmstadt/informatik/hostage/protocol/GHOST.java
Expand Up @@ -41,10 +41,13 @@ public void setAttackerIP(InetAddress attackerIP) {
this.attackerIP = attackerIP;
}

private int port = 1433;

@Override
public int getPort() {
return 1433;
}
public int getPort() { return port; }

@Override
public void setPort(int port){ this.port = port;}

@Override
public boolean isClosed() {
Expand Down
9 changes: 6 additions & 3 deletions src/de/tudarmstadt/informatik/hostage/protocol/HTTP.java
Expand Up @@ -147,10 +147,13 @@ public static void setHtmlDocumentContent(String htmlDocumentContent,String html
+ "<meta charset=\"UTF-8\">\n" + "<title>";
private String errorHtmlSuffix = "</title>\n" + "</head>\n" + "</html>";

private int port = 80;

@Override
public int getPort() {
return 80;
}
public int getPort() { return port; }

@Override
public void setPort(int port){ this.port = port;}

@Override
public boolean isClosed() {
Expand Down
9 changes: 6 additions & 3 deletions src/de/tudarmstadt/informatik/hostage/protocol/HTTPS.java
Expand Up @@ -16,10 +16,13 @@
*/
public class HTTPS extends HTTP implements SSLProtocol {

private int port = 443;

@Override
public int getPort() {
return 443;
}
public int getPort() { return port; }

@Override
public void setPort(int port){ this.port = port;}

@Override
public SSLContext getSSLContext() {
Expand Down
10 changes: 7 additions & 3 deletions src/de/tudarmstadt/informatik/hostage/protocol/MODBUS.java
Expand Up @@ -21,9 +21,13 @@
public class MODBUS implements Protocol {


public int getPort() {
return 502;
}
private int port = 502;

@Override
public int getPort() { return port; }

@Override
public void setPort(int port){ this.port = port;}

public boolean isClosed() {
return false;
Expand Down
9 changes: 6 additions & 3 deletions src/de/tudarmstadt/informatik/hostage/protocol/MySQL.java
Expand Up @@ -48,10 +48,13 @@ private String initMysqlVersion() {
.nextInt(possibleMysqlVersions[majorVersion][1].length)];
}

private int port = 3306;

@Override
public int getPort() {
return 3306;
}
public int getPort() { return port; }

@Override
public void setPort(int port){ this.port = port;}

@Override
public boolean isClosed() {
Expand Down
6 changes: 6 additions & 0 deletions src/de/tudarmstadt/informatik/hostage/protocol/Protocol.java
Expand Up @@ -23,6 +23,12 @@ public static enum TALK_FIRST {
*/
int getPort();

/**
* Sets the port on the protocol.
*@param port The new port
*/
void setPort(int port);

/**
* Returns whether the communication is ended and the connection should be
* closed or not.
Expand Down
9 changes: 6 additions & 3 deletions src/de/tudarmstadt/informatik/hostage/protocol/S7COMM.java
Expand Up @@ -9,10 +9,13 @@
* Created by root on 06.07.15.
*/
public class S7COMM implements Protocol {
private int port = 102;

@Override
public int getPort() {
return 102;
}
public int getPort() { return port; }

@Override
public void setPort(int port){ this.port = port;}

@Override
public boolean isClosed() {
Expand Down
9 changes: 6 additions & 3 deletions src/de/tudarmstadt/informatik/hostage/protocol/SIP.java
Expand Up @@ -31,10 +31,13 @@ private enum STATE {
private String header;
private String sdpPayload;

private int port = 5060;

@Override
public int getPort() {
return 5060;
}
public int getPort() { return port; }

@Override
public void setPort(int port){ this.port = port;}

@Override
public boolean isClosed() {
Expand Down
9 changes: 6 additions & 3 deletions src/de/tudarmstadt/informatik/hostage/protocol/SMB.java
Expand Up @@ -177,10 +177,13 @@ public void log(MessageRecord.TYPE type, String packet, int localPort, InetAddre
Logger.log(Hostage.getContext(), createMessageRecord(type, packet));
}
}
private int port = 1025;

@Override
public int getPort() {
return 1025;
}
public int getPort() { return port; }

@Override
public void setPort(int port){ this.port = port;}

@Override
public boolean isClosed() {
Expand Down
10 changes: 7 additions & 3 deletions src/de/tudarmstadt/informatik/hostage/protocol/SMTP.java
Expand Up @@ -8,9 +8,13 @@
* simple mail transfer protocol
*/
public class SMTP implements Protocol {
public int getPort() {
return 25;
}
private int port = 25;

@Override
public int getPort() { return port; }

@Override
public void setPort(int port){ this.port = port;}

public boolean isClosed() {
return false;
Expand Down
9 changes: 6 additions & 3 deletions src/de/tudarmstadt/informatik/hostage/protocol/SNMP.java
Expand Up @@ -48,10 +48,13 @@
public class SNMP implements Protocol {


private int port = 161;

@Override
public int getPort() {
return 161;
}
public int getPort() { return port; }

@Override
public void setPort(int port){ this.port = port;}

@Override
public boolean isClosed() {
Expand Down
9 changes: 6 additions & 3 deletions src/de/tudarmstadt/informatik/hostage/protocol/SSH.java
Expand Up @@ -116,10 +116,13 @@ private String initSshType() {
+ "v62Zs4hlDvhwvx8MQ+A=\n" + "-----END DSA PRIVATE KEY-----")
.toCharArray();

private int port = 22;

@Override
public int getPort() {
return 22;
}
public int getPort() { return port; }

@Override
public void setPort(int port){ this.port = port;}

@Override
public TALK_FIRST whoTalksFirst() {
Expand Down
9 changes: 6 additions & 3 deletions src/de/tudarmstadt/informatik/hostage/protocol/TELNET.java
Expand Up @@ -64,10 +64,13 @@ private static enum STATE {
0x20, 0x1b, 0x5b, 0x30, 0x31, 0x3b, 0x33, 0x34, 0x6d, 0x7e, 0x20,
0x24, 0x1b, 0x5b, 0x30, 0x30, 0x6d, 0x20 };

private int port = 23;

@Override
public int getPort() {
return 23;
}
public int getPort() { return port; }

@Override
public void setPort(int port){ this.port = port;}

@Override
public boolean isClosed() {
Expand Down

0 comments on commit 3d61611

Please sign in to comment.