Browse Source

small changes

mip-it 10 years ago
parent
commit
725d9a8ae9
30 changed files with 103 additions and 52 deletions
  1. BIN
      bin/classes.dex
  2. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/HoneyHandler.class
  3. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/HoneyService.class
  4. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/protocol/FTP.class
  5. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/protocol/HTTP.class
  6. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/protocol/Protocol.class
  7. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/protocol/SMB$STATE.class
  8. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/protocol/SMB.class
  9. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/protocol/SSH.class
  10. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$1.class
  11. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$2.class
  12. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$3.class
  13. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$4.class
  14. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$5.class
  15. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity.class
  16. BIN
      bin/hostage.apk
  17. BIN
      native/p
  18. BIN
      native/porthack.o
  19. 1 1
      project.properties
  20. 1 2
      res/values/protocols.xml
  21. 2 2
      src/de/tudarmstadt/informatik/hostage/HoneyHandler.java
  22. 2 0
      src/de/tudarmstadt/informatik/hostage/HoneyService.java
  23. 0 5
      src/de/tudarmstadt/informatik/hostage/protocol/FTP.java
  24. 0 5
      src/de/tudarmstadt/informatik/hostage/protocol/HTTP.java
  25. 0 2
      src/de/tudarmstadt/informatik/hostage/protocol/Protocol.java
  26. 2 20
      src/de/tudarmstadt/informatik/hostage/protocol/SMB.java
  27. 0 5
      src/de/tudarmstadt/informatik/hostage/protocol/SSH.java
  28. 37 0
      src/de/tudarmstadt/informatik/hostage/protocol/TELNET.java
  29. 50 0
      src/de/tudarmstadt/informatik/hostage/system/NativeBridge.java
  30. 8 10
      src/de/tudarmstadt/informatik/hostage/ui/MainActivity.java

BIN
bin/classes.dex


BIN
bin/classes/de/tudarmstadt/informatik/hostage/HoneyHandler.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/HoneyService.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/protocol/FTP.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/protocol/HTTP.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/protocol/Protocol.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/protocol/SMB$STATE.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/protocol/SMB.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/protocol/SSH.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$1.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$2.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$3.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$4.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$5.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity.class


BIN
bin/hostage.apk


BIN
native/p


BIN
native/porthack.o


+ 1 - 1
project.properties

@@ -11,4 +11,4 @@
 #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
 
 # Project target.
-target=android-17
+target=android--17

+ 1 - 2
res/values/protocols.xml

@@ -2,12 +2,11 @@
 <resources>
 
     <string-array name="protocols">
-        <item>ECHO</item>
         <item>FTP</item>
         <item>HTTP</item>
-        <item>HTTPS</item>
         <item>SMB</item>
         <item>SSH</item>
+        <item>TELNET</item>
     </string-array>
 
 </resources>

+ 2 - 2
src/de/tudarmstadt/informatik/hostage/HoneyHandler.java

@@ -81,7 +81,7 @@ public class HoneyHandler implements Runnable {
 		String outputLine;
 
 		if (protocol.whoTalksFirst() == TALK_FIRST.SERVER) {
-			outputLine = protocol.processMessage(null);
+			outputLine = "";// protocol.processMessage(null);
 			out.write(outputLine + "\n");
 			out.flush();
 			log.write(createRecord(TYPE.SEND, outputLine));
@@ -89,7 +89,7 @@ public class HoneyHandler implements Runnable {
 
 		while (!thread.isInterrupted() && (inputLine = in.readLine()) != null) {
 			log.write(createRecord(TYPE.RECEIVE, inputLine));
-			outputLine = protocol.processMessage(inputLine);
+			outputLine = "";// protocol.processMessage(inputLine);
 			if (outputLine != null) {
 				out.write(outputLine + "\n");
 				out.flush();

+ 2 - 0
src/de/tudarmstadt/informatik/hostage/HoneyService.java

@@ -100,6 +100,8 @@ public class HoneyService extends Service {
 		return protocolArray;
 	}
 
+	// IPC
+
 	public void notifyUI() {
 		Intent intent = new Intent(MainActivity.BROADCAST);
 		LocalBroadcastManager.getInstance(this).sendBroadcast(intent);

+ 0 - 5
src/de/tudarmstadt/informatik/hostage/protocol/FTP.java

@@ -43,11 +43,6 @@ public final class FTP implements Protocol {
 		return (state == STATE.CLOSED);
 	}
 
-	@Override
-	public boolean isSecure() {
-		return false;
-	}
-
 	@Override
 	public String toString() {
 		return "FTP";

+ 0 - 5
src/de/tudarmstadt/informatik/hostage/protocol/HTTP.java

@@ -43,11 +43,6 @@ public final class HTTP implements Protocol {
 		return (state == STATE.CLOSED);
 	}
 
-	@Override
-	public boolean isSecure() {
-		return false;
-	}
-
 	@Override
 	public String toString() {
 		return "HTTP";

+ 0 - 2
src/de/tudarmstadt/informatik/hostage/protocol/Protocol.java

@@ -14,6 +14,4 @@ public interface Protocol {
 
 	boolean isClosed();
 
-	boolean isSecure();
-
 }

+ 2 - 20
src/de/tudarmstadt/informatik/hostage/protocol/SMB.java

@@ -1,6 +1,5 @@
 package de.tudarmstadt.informatik.hostage.protocol;
 
-import java.util.regex.Pattern;
 
 public final class SMB implements Protocol {
 
@@ -22,20 +21,8 @@ public final class SMB implements Protocol {
 
 	@Override
 	public String processMessage(String message) {
-		switch (state) {
-		case NONE:
-			state = STATE.OPEN;
-			return "Connection established.";
-		case OPEN:
-			if (Pattern.matches("^QUIT\\s?", message)) {
-				state = STATE.CLOSED;
-				return null;
-			} else {
-				return message;
-			}
-		default:
-			return "Connection closed.";
-		}
+		message.getBytes();
+		return null;
 	}
 
 	@Override
@@ -43,11 +30,6 @@ public final class SMB implements Protocol {
 		return (state == STATE.CLOSED);
 	}
 
-	@Override
-	public boolean isSecure() {
-		return false;
-	}
-
 	@Override
 	public String toString() {
 		return "SMB";

+ 0 - 5
src/de/tudarmstadt/informatik/hostage/protocol/SSH.java

@@ -43,11 +43,6 @@ public final class SSH implements Protocol {
 		return (state == STATE.CLOSED);
 	}
 
-	@Override
-	public boolean isSecure() {
-		return true;
-	}
-
 	@Override
 	public String toString() {
 		return "SSH";

+ 37 - 0
src/de/tudarmstadt/informatik/hostage/protocol/TELNET.java

@@ -0,0 +1,37 @@
+package de.tudarmstadt.informatik.hostage.protocol;
+
+public final class TELNET implements Protocol {
+
+	private static enum STATE {
+		NONE, OPEN, CLOSED
+	};
+
+	private STATE state = STATE.NONE;
+
+	@Override
+	public int getPort() {
+		return 8023;
+	}
+
+	@Override
+	public TALK_FIRST whoTalksFirst() {
+		return TALK_FIRST.SERVER;
+	}
+
+	@Override
+	public String processMessage(String message) {
+		message.getBytes();
+		return null;
+	}
+
+	@Override
+	public boolean isClosed() {
+		return (state == STATE.CLOSED);
+	}
+
+	@Override
+	public String toString() {
+		return "TELNET";
+	}
+
+}

+ 50 - 0
src/de/tudarmstadt/informatik/hostage/system/NativeBridge.java

@@ -0,0 +1,50 @@
+package de.tudarmstadt.informatik.hostage.system;
+
+import java.io.FileDescriptor;
+import java.io.IOException;
+
+import android.net.LocalSocket;
+import android.net.LocalSocketAddress;
+
+public class NativeBridge implements Runnable {
+
+	private final static NativeBridge INSTANCE = new NativeBridge();
+
+	public NativeBridge getInstance() {
+		return INSTANCE;
+	}
+
+	private final static LocalSocket SOCK = new LocalSocket();
+
+	private NativeBridge() {
+		try {
+			SOCK.bind(new LocalSocketAddress("hostage"));
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
+
+	@Override
+	public void run() {
+		try {
+			Process p = Runtime.getRuntime().exec(
+					new String[] { "/data/local/p", "21" });
+			p.waitFor();
+		} catch (IOException e) {
+			e.printStackTrace();
+		} catch (InterruptedException e) {
+			e.printStackTrace();
+		}
+	}
+
+	public static FileDescriptor getFD(int port) {
+		new Thread(INSTANCE).start();
+		try {
+			FileDescriptor[] fds = SOCK.getAncillaryFileDescriptors();
+			return fds[0];
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+}

+ 8 - 10
src/de/tudarmstadt/informatik/hostage/ui/MainActivity.java

@@ -1,6 +1,5 @@
 package de.tudarmstadt.informatik.hostage.ui;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 
@@ -13,8 +12,6 @@ import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.ServiceConnection;
-import android.net.LocalSocket;
-import android.net.LocalSocketAddress;
 import android.os.Bundle;
 import android.os.IBinder;
 import android.support.v4.content.LocalBroadcastManager;
@@ -82,7 +79,7 @@ public class MainActivity extends Activity {
 		super.onStart();
 		registerReceiver();
 		if (isServiceRunning()) {
-			bindService(getServiceIntent(), mConnection, BIND_ABOVE_CLIENT);
+			bindService(getServiceIntent(), mConnection, BIND_AUTO_CREATE);
 		}
 	}
 
@@ -111,7 +108,7 @@ public class MainActivity extends Activity {
 
 	private void startAndBind() {
 		startService(getServiceIntent());
-		bindService(getServiceIntent(), mConnection, BIND_ABOVE_CLIENT);
+		bindService(getServiceIntent(), mConnection, BIND_AUTO_CREATE);
 	}
 
 	private void stopAndUnbind() {
@@ -163,11 +160,12 @@ public class MainActivity extends Activity {
 			@Override
 			public void onItemClick(AdapterView<?> parent, View view,
 					int position, long id) {
-				String protocolName = ((HashMap<String, String>) adapter
+				String protocolName = (String) ((HashMap<?, ?>) adapter
 						.getItem(position)).get("protocol");
-				if (isServiceRunning()) {
-					mService.toggleListener(protocolName);
+				if (!isServiceRunning()) {
+					startAndBind();
 				}
+				mService.toggleListener(protocolName);
 			}
 
 		});
@@ -321,8 +319,8 @@ public class MainActivity extends Activity {
 
 	private void updateProtocolLight(int light, String protocolName) {
 		for (int i = 0; i < adapter.getCount(); ++i) {
-			HashMap<String, String> d = ((HashMap<String, String>) adapter
-					.getItem(i));
+			HashMap<String, String> d = (HashMap<String, String>) adapter
+					.getItem(i);
 			if (d.get("protocol").equals(protocolName)) {
 				switch (light) {
 				case LIGHT_GREY: