From ca9627e70852f6b2e835660df870fe3ab405882d Mon Sep 17 00:00:00 2001
From: "Suren A. Chilingaryan" <csa@suren.me>
Date: Sun, 1 Sep 2019 00:00:32 +0200
Subject: Initial import

---
 app-misc/sshsleeper/Manifest              |  2 ++
 app-misc/sshsleeper/files/sshsleeper.c    | 38 +++++++++++++++++++++++++++++++
 app-misc/sshsleeper/sshsleeper-0.1.ebuild | 37 ++++++++++++++++++++++++++++++
 3 files changed, 77 insertions(+)
 create mode 100644 app-misc/sshsleeper/Manifest
 create mode 100644 app-misc/sshsleeper/files/sshsleeper.c
 create mode 100644 app-misc/sshsleeper/sshsleeper-0.1.ebuild

(limited to 'app-misc/sshsleeper')

diff --git a/app-misc/sshsleeper/Manifest b/app-misc/sshsleeper/Manifest
new file mode 100644
index 0000000..8e15f8c
--- /dev/null
+++ b/app-misc/sshsleeper/Manifest
@@ -0,0 +1,2 @@
+AUX sshsleeper.c 769 RMD160 9cf34c6e8254eeac90b27559180d760e90a838ee SHA1 3521f6b66862e48dd36cb41a93a4543715d514c6 SHA256 d2e3cd2c0576eb8b85b51de8e52b9025c0b4dbaf37fc5b84b99a01e19f66b816
+EBUILD sshsleeper-0.1.ebuild 814 RMD160 fc14687d26acbf33ee149ca51df5489f27b427e9 SHA1 817946110b886ad80e031595e1a713c7edc54b40 SHA256 5e3ff4f6544b42bdddd5c46afb245fe7b8a01f1f804c6679eee7bcb0c2aafb3e
diff --git a/app-misc/sshsleeper/files/sshsleeper.c b/app-misc/sshsleeper/files/sshsleeper.c
new file mode 100644
index 0000000..a88c4bc
--- /dev/null
+++ b/app-misc/sshsleeper/files/sshsleeper.c
@@ -0,0 +1,38 @@
+#include <stdio.h>
+#include <unistd.h>
+#include <string.h>
+
+#define BUFSIZE 128
+
+int main() {
+    int i;
+    unsigned int val;
+    int slpsec = 3600;
+    
+    char buf[BUFSIZE+1];
+    
+    FILE *f = fopen("/etc/sshsleeper.conf", "r");
+    if (f) {
+	while (fgets(buf, BUFSIZE, f)) {
+		// check if we are facing a long string
+	    if (strlen(buf) >= BUFSIZE) {
+		while ((fgets(buf, BUFSIZE, f))&&(strlen(buf) >= BUFSIZE));
+	    }
+	    
+	    for (i = 0; buf[i] == ' '; i++);
+	    if (strncmp(buf, "duration", 8)) continue;
+	    for (i += 8; buf[i] == ' '; i++);
+	    if (sscanf(buf + i, "%u", &val) != 1) continue;
+	    
+	    if (val > 0) {
+		slpsec = val;
+		break;
+	    }
+		
+	}
+	fclose(f);
+    }
+    
+    printf("Sleeping for %u seconds\n", slpsec);
+    sleep(slpsec);
+}
diff --git a/app-misc/sshsleeper/sshsleeper-0.1.ebuild b/app-misc/sshsleeper/sshsleeper-0.1.ebuild
new file mode 100644
index 0000000..ca464ab
--- /dev/null
+++ b/app-misc/sshsleeper/sshsleeper-0.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: 
+
+inherit eutils toolchain-funcs flag-o-matic
+
+DESCRIPTION="just a sleep app to be used for ssh backdoors"
+HOMEPAGE="http://dside.dyndns.org/"
+
+LICENSE="GPL"
+SLOT="0"
+KEYWORDS="x86 amd64"
+
+
+
+src_compile() {
+    gcc -o ${PN} "${FILESDIR}"/${PN}.c
+}
+
+src_install() {
+    dobin ${PN}
+
+    dodir /etc
+    echo "duration 14400" > "${D}"/etc/sshsleeper.conf
+
+    dodir /var/lib/sshsleeper
+    dodir /var/lib/sshsleeper/.ssh
+}
+
+pkg_postinst() {
+    enewuser sleep 601 /usr/bin/sshsleeper /var/lib/sshsleeper nogroup -K PASS_MAX_DAYS=31
+    fowners sleep.nogroup /var/lib/sshsleeper
+    fowners sleep.nogroup /var/lib/sshsleeper/.ssh
+    
+    einfo ""
+    einfo "Please, add sshsleaper to /etc/shells"
+}
-- 
cgit v1.2.3